Vue.js 处理URI错误:URI与vue路由器格式不正确

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

我在我的网站上遇到了一个负面场景,有人在URL末尾附加了
%
,在这种情况下,我们得到了
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页面或至少在某个地方捕获此错误,使页面不会冻结,从而优雅地处理此场景。