URL 包含阿拉伯字符的 Nuxtjs SSR 错误 "Request path contains unescaped characters"
Nuxtjs SSR error "Request path contains unescaped characters" for URL containing arabic characters
对于nuxt使用SSR时,包含阿拉伯字符的URL会报错:"Request path contains unescaped characters"
示例:当导航到 SSR 的“http://localhost:4000/خضار-بخلطة-الطماطم”时,我得到以下信息:
TypeError [ERRUNESCAPEDCHARACTERS]
Request path contains unescaped characters
URI : /%D8%AE%D8%B6%D8%A7%D8%B1-%D8%A8%D8%AE%D9%84%D8%B7%D8%A9-%D8%A7%D9%84%D8%B7%D9%85%D8%A7%D8%B7%D9%85
REQUEST METHOD | GET
HTTP VERSION | 1.1
CONNECTION | keep-alive
注意:客户端渲染工作正常
vue-router 中存在一个错误,会阻止非 unicode url 在初始页面加载时正常工作。已合并到vue router中,但尚未发布
https://github.com/vuejs/vue-router/pull/2375
一旦发布新的 vue-router 版本,修复将合并到 nuxt -> https://github.com/nuxt/nuxt.js/pull/3841
在 asyncData 中,我正在执行一个使用 context.params.slug
的 API 调用。
paramas 不是 UTF-8 编码的,所以我添加了:encodeURIComponent(context.params.slug)
,
这样我就不再收到错误
对于nuxt使用SSR时,包含阿拉伯字符的URL会报错:"Request path contains unescaped characters"
示例:当导航到 SSR 的“http://localhost:4000/خضار-بخلطة-الطماطم”时,我得到以下信息:
TypeError [ERRUNESCAPEDCHARACTERS]
Request path contains unescaped characters
URI : /%D8%AE%D8%B6%D8%A7%D8%B1-%D8%A8%D8%AE%D9%84%D8%B7%D8%A9-%D8%A7%D9%84%D8%B7%D9%85%D8%A7%D8%B7%D9%85
REQUEST METHOD | GET
HTTP VERSION | 1.1
CONNECTION | keep-alive
注意:客户端渲染工作正常
vue-router 中存在一个错误,会阻止非 unicode url 在初始页面加载时正常工作。已合并到vue router中,但尚未发布
https://github.com/vuejs/vue-router/pull/2375
一旦发布新的 vue-router 版本,修复将合并到 nuxt -> https://github.com/nuxt/nuxt.js/pull/3841
在 asyncData 中,我正在执行一个使用 context.params.slug
的 API 调用。
paramas 不是 UTF-8 编码的,所以我添加了:encodeURIComponent(context.params.slug)
,
这样我就不再收到错误