【发布时间】:2021-09-24 16:10:54
【问题描述】:
我正在处理错误页面。在布局目录中,我有 error.vue 和 error_layout.vue。
假设我在登录页面并发生错误(例如网络错误,我正在处理登录页面中的服务器和验证错误)。它显示了我的错误页面,但 URL 没有改变,它是:mydomain.com/login
这里的问题是我想要正确的 URL,例如 mydomain.com/error
我想要这个,因为我希望能够在上一页返回用户(在我的情况下 - mydomain.com/login),但刷新显示错误页面的 URL 错误。我回不去了。
$nuxt.$route 给了我登录路径。
更新:
这是我处理服务器错误的方法,这是我的拦截器插件:
export default function ({ $axios, redirect, app, error: nuxtError }) {
$axios.onError((error) => {
if (error.response) {
if (error.response.status === 423) {
redirect({
name: 'confirm-password',
query: { redirect_to: app.router.currentRoute.name }
})
}
} else {
// Unknown error, for example Network Error
// HERE IS MY PROBLEM
nuxtError({
statusCode: 503,
message: error.message
})
return Promise.resolve(false)
}
})
【问题讨论】: