gpt4 book ai didi

jquery - XMLHttpRequest 不是使用 .setRequestHeader 设置的

转载 作者:行者123 更新时间:2023-12-01 04:12:04 25 4
gpt4 key购买 nike

我尝试发出跨域请求。为了能够做到这一点,我必须设置一个 http header 。

$.ajax({
type: 'GET',
url: 'api',
beforeSend: function (request)
{
request.setRequestHeader('authorization', 'Basic ...==');
},
success: function(data) {
debugger;
}
});

beforeSend 方法似乎已被调用,但未设置“授权” header 。你能帮我解决这个问题吗?

更新:以下是收到的 CORS header :

Access-Control-Allow-Origin : localhost
Access-Control-Allow-Credential: true
Access-Control-Allow-Methods: GET, PUT, POST, DELETE, OPTIONS

似乎缺少Access-Control-Allow-Headers

最佳答案

确保您的 API 支持 CORS,并且 Authorization 是允许设置的请求 header 。当您向端点发送 OPTIONS 请求时,您的 API 应使用以下响应 header 进行响应:

Access-Control-Allow-Headers:X-Requested-With, Content-Type, Authorization
Access-Control-Allow-Methods:GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Origin:*

这允许客户端在调用 API 方法时设置 X-Requested-WithContent-TypeAuthorization 请求 header ,并且它允许来自任何来源的 GETPOSTPUTDELETEOPTIONS 动词域名。

因此,为了调试问题,首先向 API 端点发送 OPTIONS 请求并观察响应 HTTP header 。

关于jquery - XMLHttpRequest 不是使用 .setRequestHeader 设置的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19223047/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com