ajax中的timeout设置 您所在的位置:网站首页 请求同步策略怎么设置的 ajax中的timeout设置

ajax中的timeout设置

2024-05-09 01:00| 来源: 网络整理| 查看: 265

jquery的$.ajax()中,有一个timeout的属性,用来设置超时时间,使用complete判断TextStatus的值是否为timeout,执行相应的操作。

代码如下:

$.ajax({ url: 'ajax.php', type: 'post', data: postData, timeout: 8000,//设置超时时间为8s success: function(data){ console.log(data) }, complete:function(XHR,TextStatus){ if(TextStatus=='timeout'){ //超时执行的程序 console.log("请求超时!"); } } }) 问题

ajax中async属性的默认值为true,即异步状态,$.ajax执行后,会继续执行ajax后面的脚本,直到服务器端返回数据后,触发$.ajax里的success方法,这时候执行的是两个线程。 若要将其设置为false,则所有的请求均为同步请求,在没有返回值之前,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。 这时,timeout属性失效,页面会在请求同步ajax的时候进入假死状态,直到请求有返回结果。

目前解决方案:避开同步ajax,使用异步代替。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有