gpt4 book ai didi

javascript - 如果设置了 headers 对象,jQuery.ajax() 会多次发送请求

转载 作者:行者123 更新时间:2023-11-30 00:29:13 25 4
gpt4 key购买 nike

当我运行它时,它出于某种原因发送了两个请求。当我删除 headers 对象时,尽管它只运行一次。为什么它与 header 对象一起运行两次?

$.ajax({
type: "get",
headers: {
Time: time
},
url: getHost() + "/leaderboard/top?gameId=" + gameId + "&token=" + createToken([gameId, time]),
dataType: "json",
complete: function(data){
showOutput(JSON.parse(data.responseText));
}
});

当我查看 chrome 网络检查器时,我看到在 Method 下,一个是 GET,另一个是 OPTIONS。除此之外,请求完全相同。

在服务器上我设置了以下 header :

this.res.setHeader("Content-Type", "text/json; charset=utf-8");
this.res.setHeader("Access-Control-Allow-Origin", "*");
this.res.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Time");

最佳答案

在特定条件下(在本例中为时间 header 的呈现)跨源 GET 请求 pre-flight首先发送 OPTIONS 请求以确保接收服务器接受这些类型的请求。

阅读一些关于跨源资源共享和同源策略的内容。

关于javascript - 如果设置了 headers 对象,jQuery.ajax() 会多次发送请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30243520/

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