簡體   English   中英

Firefox不斷返回ajax狀態為錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM