对于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
注意:客户端呈现效果很好
答案 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