1. 程式人生 > >Ajax網路請求超時處理-timeout

Ajax網路請求超時處理-timeout

1、相關連結:http://blog.csdn.net/zrcj0706/article/details/78639980

2、實現效果

  • 當網路請求時間超過2秒,則彈出提示框:提示網路不穩定
  • 具體效果如下圖所示

3、程式碼如下:

  • 程式碼截圖

  • 具體程式碼
let ajaxTimeOut = $.ajax({    //將網路請求事件賦值給變數ajaxTimeOut 
      url: "/api_v1.1/apiPackage/knowKeyWord",
      type: "GET",
      dataType: "json",
      data: {
        "knowcontent": this.state.title + this.state.description,
      },
      timeout: 2000, //通過timeout屬性,設定超時時間
      success: function (data) {
        console.log("獲取關鍵字成功");
        console.log(data);
      }.bind(this),
      error: function (xhr, status, err) {
      }.bind(this),
      complete: function (XMLHttpRequest, status) { //當請求完成時呼叫函式
        if (status == 'timeout') {//status == 'timeout'意為超時,status的可能取值:success,notmodified,nocontent,error,timeout,abort,parsererror 
          ajaxTimeOut.abort(); //取消請求
          Modal.warning({     //超時提示:網路不穩定
            title: '友情提示',
            content: '網路不穩定',
          });
        }
      }
    });

4、步驟解析:

  • 第一步:將網路請求事件賦值給變數ajaxTimeOut 
  • 第二步:通過設定timeout屬性值,來定義超時時間
  • 第三步:通過complete中的status是否等於timeout來判斷是否超時,並設定超時提示處理