gpt4 book ai didi

javascript - ajax GET 不适用于 header 参数

转载 作者:行者123 更新时间:2023-12-03 11:17:44 25 4
gpt4 key购买 nike

首先我必须说我是 AJAX 新手。所以这个问题对于大多数人来说听起来很愚蠢但我真的很感激任何形式的帮助我一直在尝试添加一个 AJAX get 请求并在 header 中传递一些参数,但由于某种原因失败了。我知道这是一个非常基本的问题,但过去 4 小时我一直在寻找解决方案,但找不到正确的解决方案

function resetSession() {

$.ajax({

dataType: "text",
beforeSend: function (request)
{
request.setRequestHeader("sessionVariable", sessionVariable);
},
url: "/reset.php",
type: "GET",

success: function(data) {
alert("yes");
},
error: function(data){
alert("no");


}
});



}

我没有发现这段代码有任何问题,我确实寻找了一个不同的代码来为我修复它,但找不到它每次调用该函数时,请求 URL 都是正确的,但请求方法是 OPTIONS

期待一个简单的修复提前致谢

最佳答案

我也遇到了同样的问题。 I solved it by not using jQuery 。我认为他们还没有涵盖它。

您的浏览器正在发送 OPTIONS 请求,以查明服务器是否接受您的请求 ( retarded, ain't it? )。 This is a part of CORS (如果您有兴趣,请阅读整篇文章)。服务器可能会拒绝带有更改 header 的请求。 Referrer header 永远无法更改。

尝试发送正常的ajax:

var req = new XMLHttpRequest();
req.open("GET", "/reset.php");
req.onload = function() {
console.log("SUCESS:", this.responseText);
}
req.onerror = function() {
console.log("FAILURE:", this.status);
}
req.setRequestHeader("sessionVariable", sessionVariable);
req.send(null);

我不确定 jQuery dataType 属性应该做什么。但由于您没有发送任何内容,因此可能并不重要。

关于javascript - ajax GET 不适用于 header 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27261663/

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