302响应错误

die*_*pjy 6 javascript cors axios

我正在向我的本地Web服务发出GET请求,我希望返回302响应,并在标题中包含一个位置.但是,我得到一个未定义的响应和网络错误,即使我可以在本地看到正在提供请求并且正在创建响应而Web服务中没有任何错误.

我在Postman和Chrome中尝试过,它会收到重定向响应并相应地重定向.

我不确定这是否是一个CORS问题,如果是,我该如何解决?

我已经在CORS过滤器的响应头中添加了

Access-Control-Expose-Headers: Location, [own headers]
Access-Control-Allow-Origin: '*'
Access-Control-Allow-Methods: POST, PUT, GET, OPTIONS, DELETE
Access-Control-Max-Age: [some age]
Access-Control-Allow-Headers: [own headers]
Run Code Online (Sandbox Code Playgroud)

当我使用Postman时,位置出现在标题中

我使用Axios和配置进行的请求是

const config = {
  url: [someURL],
  method: 'GET',
  headers: {
    'customHeader':'token',
  },
  params: {
    [params]
  },
  maxRedirects: 0,
  validateStatus: status => (status >= 200 && status < 300) || status === 302,
};
Run Code Online (Sandbox Code Playgroud)

任何帮助都会非常感激,为什么响应在到达我的JS代码时是未定义的,但在Postman和Chrome中工作正常.

我可以解决这个问题的方法是使用HTTP状态代码200并获取位置标头以重定向,但我想避免这种情况,因为它在技术上是一个重定向响应.

sid*_*ker 2

\'customHeader\':\'token\'您的请求部分会触发您的浏览器首先发送 CORS 预检 OPTIONS 请求。除了定义为CORS 安全列表请求标头的标头之外,您添加到请求的任何标头都会触发浏览器发送 CORS 预检 OPTIONS 请求。

\n\n

您不从 Postman 获取此信息的原因是,与浏览器引擎不同,Postman 不实现 CORS,因此它不发送 OPTIONS 请求。(Postman 并不在浏览器为 Web 应用程序强制执行的同源 Web 安全模型下运行。)

\n\n

如果服务器没有以正确的方式响应 CORS 预检选项请求,您的请求将失败,唯一的解决方法是不将该\'customHeader\':\'token\'部分添加到您的请求中,或者以任何触发您的请求的方式构建您的请求。浏览器进行 CORS 预检。

\n