ajax請求遇到服務器重啟或中斷


常會有不斷輪詢發送ajax請求,處理一些業務的場景。

要考慮到:

1. 服務器重啟,中斷,恢復后仍然能恢復正常業務處理。

    服務器重啟過程中,再次發送請求,請求狀態將變為net::ERR_CONNECTION_REFUSED,ajax依然會執行到success邏輯層,拿到的響應是null。

    想當然的認為ajax會執行到error邏輯層是不正確的,因此寫代碼的時候要格外注意這一點。

 1 var progress_polling_ajax = function () {
 2     var time_interval = 3000;
 3 
 4     jQuery.ajax({
 5         url: "/system/ajax_get_progress/",
 6         method: "POST"
 7         dataType: "json",
 8         success: function (data) {
 9             try {
10                 if (data) {
11                     //業務處理
12                 } else {
13                     setTimeout(progress_polling_ajax, time_interval);
14                 }
15 
16             } catch (e) {
17                 setTimeout(progress_polling_ajax, time_interval);
18             }
19         },
20         error: {
21             setTimeout(progress_polling_ajax, time_interval);
22         }
23 
24     });
25 
26 };

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM