使用 axios 添加访问控制源头

问题描述

我正在尝试使用此代码发送帖子数据

  axios
.post(
  data.submissionUrl,{ data: sendData },{ headers: { "Access-Control-Allow-Origin": "*" } }
)
.then((response) => {
  console.log(response);
})
.catch((err) => {
  console.log(err,err.response);
});

我收到此错误

Access to XMLHttpRequest at 'https://website' from origin 'vscode live server' has been blocked by CORS policy: Request header field access-control-allow-origin is not allowed by Access-Control-Allow-Headers in preflight response.

但是,如果我交换数据和标题,我不知道出于什么原因将标题与数据连接并且帖子通过但数据不正确。 data: "{"headers":{"Access-Control-Allow-Origin"

解决方法

你不能那样做。您需要在服务器响应中添加该标头。

,
  • 我认为您在浏览器上使用了 axios,因为如果您将它与 nodejs 一起使用,则 cors 不会出现任何问题我建议您通过 nodejs 从您的服务器执行此操作,您可以通过 http 请求为您的服务器获取数据我的意思是
  1. 创建一个脚本,通过 nodejs 从您的服务器发送数据
  2. 创建您的浏览器脚本,向您的服务器发送请求以获取此数据,如果您在网站中使用它会更好