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来判断是否超时,并设置超时提示处理




猜你喜欢

转载自blog.csdn.net/zrcj0706/article/details/79391341