ajax响应时长怎样设置?

ajax响应时长怎样设置?,第1张

在项目中,点击所有导出数据,通过ajax的实现,将数据库中的相应数据转换为excel文件格式,可以下载到用户。

实际上,数据量非常大。ajax请求的响应时间太长,导致浏览器长时间不响应。

有几种方法可以解决这个问题:

首先是设置ajax请求时间。

测试后:服务器处理方法中的线程延迟证明超时无效,客户端等待响应,状态返回成功。注意,超时意味着设置请求超时时间,而不是服务器响应时间!

第二种情况是,当您返回数据时,尝试返回不太大的数据的字节,这可以单独传输。

Ajax请求是限时的,所以错误警告被捕获并处理后,可以用来提升用户体验。

请求超时这个参数通常就保留其默认值,要不就通过jQuery.ajaxSetup来全局设定,很少为特定的请求重新设置timeout选项。

timeout Number 设置请求超时时间(毫秒)。此设置将覆盖全局设置。 自己设置的 例如 timeout:1000

先拖一个AJAX框,在里面放上一个LABEL和一个TIMER,然后双击TIMER控件,添加如下代码:

s+=1

if (s>=60) {s=0m+=1}

if (m>=60) {m=0h+=1}

Label1.Text=h.ToString()+":"+m.ToString()+":"+s.ToString()

然后在类的开始处声明如下变量

int s,m,h

TIMER的间隔设置为1000

PS:其实像计时这个东西用本地JS+DIV就可以实现,用AJAX会消耗服务器资源,没有必要

ajax请求时有个参数可以借鉴一下

var ajaxTimeOut = $.ajax({

url:'', //请求的URL

timeout : 1000, //超时时间设置,单位毫秒

type : 'get', //请求方式,get或post

data :{}, //请求所传参数,json格式

dataType:'json',//返回的数据格式

success:function(data){ //请求成功的回调函数

alert("成功")

},

complete : function(XMLHttpRequest,status){ //请求完成后最终执行参数

if(status=='timeout'){//超时,status还有success,error等值的情况

  ajaxTimeOut.abort()//取消请求

  alert("超时")

}

}

})

设置timeout的时间,通过检测complete时status的值判断请求是否超时,如果超时则取消请求


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11417275.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-15
下一篇2023-05-15

发表评论

登录后才能评论

评论列表(0条)

    保存