Next.js的Express Server API存在CORS问题

Next.js的Express Server API存在CORS问题,express,authentication,cors,next.js,isomorphic-fetch-api,Express,Authentication,Cors,Next.js,Isomorphic Fetch Api,我在localhost端口3333中使用Express和Node.js设置了一个用户身份验证服务器,并且我正在尝试使用同构unfetch来连接Next.js端口3000中的端点。我收到一个CORS 401错误,我已经做了相当多的研究,但只是想知道是否有可能连接到本地主机上的Express服务器?我已经尝试将“访问控制允许来源”:“*”、“内容类型”:“多部分/表单数据”添加到header对象。express服务器已经安装了cors 单击按钮即可调用下面的函数 onLoginClick = asy

我在localhost端口3333中使用Express和Node.js设置了一个用户身份验证服务器,并且我正在尝试使用同构unfetch来连接Next.js端口3000中的端点。我收到一个CORS 401错误,我已经做了相当多的研究,但只是想知道是否有可能连接到本地主机上的Express服务器?我已经尝试将“访问控制允许来源”:“*”、“内容类型”:“多部分/表单数据”添加到header对象。express服务器已经安装了cors

单击按钮即可调用下面的函数

onLoginClick = async () => {
  let header = new Headers({
    "Access-Control-Allow-Origin": "*",
    "Content-Type": "multipart/form-data"
  });
  const res = await fetch("http://localhost:3333", {
    method: "POST",
    header,
    body: JSON.stringify({
      username: "USER",
      password: "PASSWORD"
    })
  });
}
错误消息-

http://localhost:3333/ 401 (Unauthorized)
Response {type: "cors", url: "http://localhost:3333/", redirected: false, status: 401, ok: false, …}

首先,CORS是在服务器端配置的。您可以将服务器配置为允许来自特定来源的呼叫

在您的代码中,
onLoginClick
是一个客户端代码,它在浏览器上运行,客户端无法决定服务器应该允许哪个来源,这将破坏拥有CORS的目的

通常,您不需要在Next.js应用程序中更改cors配置,因为您将从承载客户端应用程序的同一来源调用API


默认情况下,
Next.js
只支持API路由的同一来源,如果您需要自定义它,您可以使用。

请共享您的代码和错误消息您是否找到解决方案?