NuxtServerError,状态码为500,但表示401错误的错误消息

问题描述 投票:4回答:1

在我正在开发的应用中,我们经常但在我们的开发服务器上不一致地收到一个非常丑陋的NuxtServerError。

此NuxtServerError的状态码为500,但错误消息表明它是401错误。

堆栈跟踪仅显示单个框架,这完全无济于事(请参见屏幕截图)。>>

清除本地存储,会话存储和Cookies摆脱了此错误,只是在另一时间再次发生。

由于我不确定是什么原因引起的,所以我很难重现它,更不用说找到解决方法了。

[我们已经在onError插件中定义了一个axios回调,该回调可以捕获401错误,但是似乎没有在这里被捕获……可能是因为它在加载插件之前发生了?

再次,Nuxt确实非常无助于我们找出原因!

export default ({ $axios, nuxtState, app }) => {
  let logoutPage;
  if (process.client) {
    $axios.setBaseURL(nuxtState.env.API_URL);
    logoutPage = `https://${nuxtState.env.AUTH0_DOMAIN}/v2/logout`;
  }
  $axios.onError((e) => {
    if ([401, 403].includes(parseInt(e.response && e.response.status, 10))) {
      return app.$auth.logout().then(() => {
        if (process.client) {
          // Use JSON.parse(atob(feedback)) to decode on login page
          const returnTo = `${window.location.origin}/login?feedback=${btoa(JSON.stringify({
            error: e.response.status,
            error_description: 'Session expired. Please log in again to acces the portal.',
          }))}`;
          window.location = `${logoutPage}?returnTo=${returnTo}`;
        }
      });
    }
    return Promise.reject(e);
  });
};

enter image description here

在我正在开发的应用中,我们经常但在我们的开发服务器上不一致地收到非常丑陋的NuxtServerError。此NuxtServerError的状态码为500,但错误消息显示它是401 ...

node.js caching nuxt.js http-error nuxtservererror
1个回答
0
投票

我猜它是中间件中的代码?如果是,则不能再使用process.client;如果在通用模式下使用nuxt,它将在服务器端始终执行1次。

© www.soinside.com 2019 - 2024. All rights reserved.