卷曲到 Javascript 获取,Access-Control-Allow-Headers 问题

Curl to Javascript fetch, Access-Control-Allow-Headers problem

我这里有点情况

这是一个 100% 有效的 curl 请求(文档):

curl -X GET "myUrl" -H "accept: application/json" -H "token: myToken"

我正在尝试将其重写为 javascript fetch 或 $.ajax。 None 其中有效。

代码:

fetch(requestUrl, {
    method: 'GET',
    credentials: 'same-origin', // include, *same-origin, omit
    headers: new Headers({
        'accept': 'application/json',
        'token': 'myToken'
    }),
})

获取错误:

Access to XMLHttpRequest at 'myUrl' from origin 'myOrigin' has been blocked by CORS policy: Request header field token is not allowed by Access-Control-Allow-Headers in preflight response.

如果我做对了,有什么方法可以在 header 秒内传递该令牌,即使“Access-Control-Allow-Headers 不允许 header 字段令牌“?或者是否有可能以某种方式控制预检?

谢谢大家

您的 back-end 需要支持 requestUrl 的 OPTIONS 变体(无论路径是什么)returns header Access-Control-Allow-Headers: token 的响应.

您应该看到,在发出 GET 提取请求之前,有一个 OPTIONS,浏览器正在 OPTIONS 响应中寻找 Access-Control-Allow-Headers