小编Jul*_*ier的帖子

Next.js 从 API 路由重定向

我正在构建一个需要用户登录的后台应用程序。我有 2 个外部 API:

  • API A:管理用户帐户和会话
  • API B:对另一个数据库执行CRUD操作(与用户数据库无关)

问题是,如果用户的会话无效,我不希望用户能够执行对 API B 的调用。因此,我在 Next(在 下)中添加了一些 API 端点pages/api,它们执行以下操作:

  1. 根据 API A 验证会话的有效性
  2. 如果会话有效:继续步骤3,如果无效:重定向到页面/login
  3. 调用 API B

如果会话有效,则一切正常,但如果会话无效,则一切都会失败。

我努力了

res.redirect(307, '/login').end()
Run Code Online (Sandbox Code Playgroud)

res.writeHead(307, { Location: '/login' }).end()
Run Code Online (Sandbox Code Playgroud)

但没有成功。即使指定整个路径 ( http://localhost:3000/login),它也会失败。我不明白的是,/login如果我直接从浏览器发出请求( GET http://localhost:3000/api/data),我会成功重定向到我的页面。当我在 React 组件内使用 Axios 发出请求时,它不起作用。

知道我该如何解决这个问题吗?

javascript axios next.js

4
推荐指数
1
解决办法
3万
查看次数

标签 统计

axios ×1

javascript ×1

next.js ×1