[英]Firefox keeps returning ajax status as error
我有一個ajax請求:
$.ajax({
url: webURL,
type: 'post',
data: somedata,
cache: false,
datatype: "json",
contentType: "application/json",
success: successFunc,
error: function(jqXHR, textStatus, errorThrown)
{
console.log("Status: " + textStatus);
console.log("Error: " + errorThrown);
alert("Some error!")
}
});
服務器上的此請求實際上是對數據庫執行長時間運行的查詢(大約需要10分鍾)。
但是,此請求在大約3-5分鍾內返回,並始終顯示“某些錯誤!”警報。 但是,在服務器上,數據庫查詢仍在運行,並且從未返回! 這僅在Firefox上發生。 在Chrome上運行正常。 textStatus字段返回“錯誤”,而errorThrown為空白。
有人可以幫助我解釋為什么該ajax請求在服務器甚至發送響應之前就返回嗎?
僅在Firefox上以及長時間運行的請求需要6-7分鍾以上的時間才能返回,這種情況才會發生。
我有一個相關的問題。 我發現幾分鍾后Firefox不斷重試ajax請求。 因此,我的代碼檢查了緩存中是否已經存在該請求。 如果是這樣,則緩存將一直保持輪詢狀態,直到查詢結果也位於緩存中為止。 問題是,如果Firefox重試請求,這將如何影響請求? 是在緩存中等待多個請求,還是一次只有一個請求並且舊連接不斷關閉?
試試這個代碼。
$.ajax({
type: "POST",
url: "Default.aspx/sayHello",
contentType: "application/json; charset=utf-8",
data: "{}",
dataType: "json",
success: function(response)
{
alert(response.d);
},
error: function(response)
{
alert(response.status);
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.