Vue.js 处理URI错误:URI与vue路由器格式不正确
我在我的网站上遇到了一个负面场景,有人在URL末尾附加了Vue.js 处理URI错误:URI与vue路由器格式不正确,vue.js,uri,vue-router,Vue.js,Uri,Vue Router,我在我的网站上遇到了一个负面场景,有人在URL末尾附加了%,在这种情况下,我们得到了URIError:URI格式不正确的。有时,页面会停止使用此选项进行渲染。我正在使用Vue路由器进行路由,我尝试了Router.beforesolve和Router.beforeach方法,但没有调用它们。我想这样做来解决问题: try { decodeURI(uri) next(); } catch(e) { // If malformed URI error, don't go to URI
%
,在这种情况下,我们得到了URIError:URI格式不正确的
。有时,页面会停止使用此选项进行渲染。我正在使用Vue路由器进行路由,我尝试了Router.beforesolve
和Router.beforeach
方法,但没有调用它们。我想这样做来解决问题:
try {
decodeURI(uri)
next();
} catch(e) {
// If malformed URI error, don't go to URI, else next();
}
问题是我应该把代码放在哪里?在这种情况下,将调用哪个Vue路由器方法?
路由器代码与此类似:
const router = new VueRouter({
routes: [
ARoute,
BRoute,
],
});
如果不修改
vue路由器
代码,您将无能为力,因为解码正在那里进行。在vue router的Github上,repo可能与此相关。当有人在url末尾附加%时,您希望vue router做什么?@lukaszmtw我对vue router不太了解,但我希望通过重定向到404页面或至少在某个地方捕获此错误,使页面不会冻结,从而优雅地处理此场景。