包含阿拉伯字符的URL的Nuxtjs SSR错误“请求路径包含未转义的字符”

时间:2018-09-09 15:36:13

标签: nuxt.js

对于nuxt,使用SSR时,包含阿拉伯字符的URL会引发错误:“请求路径包含未转义的字符”

示例:导航至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

注意:客户端呈现效果很好

2 个答案:

答案 0 :(得分:1)

在asyncData中,我正在使用context.params.slug进行API调用。 paramas并未采用UTF-8编码,因此我添加了:encodeURIComponent(context.params.slug), 这样我就不再收到错误

答案 1 :(得分:0)

vue-router中存在一个错误,该错误会阻止非Unicode网址在初始页面加载时正常工作。它已合并到vue路由器中,但尚未发布。

https://github.com/vuejs/vue-router/pull/2375

一旦新的vue-router版本发布,修复程序将合并到nuxt-> https://github.com/nuxt/nuxt.js/pull/3841