當我運行它時,它會因某種原因發送兩個請求。當我刪除headers
對象時,雖然它只運行一次。爲什麼它會使用標題對象運行兩次?如果設置了標頭對象,jQuery.ajax()會多次發送請求
$.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
。除此之外,請求完全相同。
在服務器上,我有以下標題設置:
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");
這可能會幫助你:http://stackoverflow.com/questions/5544422/jquery-ajax-executed-twice –
這是預檢請求。 –
順便說一句,你可以用'text/plain'的內容類型而不是'text/json'來觸發一個非預檢的請求。 –