gpt4 book ai didi

javascript - 使用 jquery 向非 native 服务器发送授权 header 时出错

转载 作者:行者123 更新时间:2023-11-29 19:32:19 28 4
gpt4 key购买 nike

我在调用自制 API 服务时发送了一个字符串以及 Authorization header 。在服务器端,我使用 PHP 的 apache_request_headers() 方法接收这些信息以拆分所有 header 信息并获取通过 Authorization 发送的字符串以供我进一步使用。
我进行的 Ajax 调用:

$.ajax({
type: "GET",
url: "http://x.x.x.x/speaker/api/sounds",
headers: {
"Authorization": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
success: function(response){
console.log(response);
},
error: function(response){
console.log(response);
}
});

注意:如果我从在 API 提供程序脚本的同一域内运行的客户端脚本进行调用,我可以收到 Authorization header 的发送值。例如 - 如果 API 使用者脚本和 API 提供者保留在我的本地主机中或在我的远程服务器的相同域/IP 下,则一切正常。

问题: 仅当我从 API 提供商位置以外的位置运行客户端脚本时才有效。它返回一个在浏览器 (Chrome) 控制台中观察到的 Invalid HTTP status code 404 错误。

我已将 .htaccess 文件更新为:

Header add Access-Control-Allow-Origin "*"
Header add Access-Control-Allow-Headers "*"
Header add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"

因此,不再有允许来源问题,它现在是发送/获取由 jQuery 设置的 PHP 端的自定义 header 信息问题。

最佳答案

您可以将其添加到您的 .htaccess 中

RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

关于javascript - 使用 jquery 向非 native 服务器发送授权 header 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26818026/

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