ajax請求超時(shí)時(shí)間設(shè)置無效 jqueryajax默認(rèn)超時(shí)時(shí)間是多少毫秒?
jqueryajax默認(rèn)超時(shí)時(shí)間是多少毫秒?在項(xiàng)目中,點(diǎn)擊所有導(dǎo)出數(shù)據(jù),通過Ajax的實(shí)現(xiàn),將數(shù)據(jù)庫中相應(yīng)的數(shù)據(jù)轉(zhuǎn)換成excel文件格式,可以下載給用戶。事實(shí)上,數(shù)據(jù)量非常大。Ajax請求響應(yīng)時(shí)間過長
jqueryajax默認(rèn)超時(shí)時(shí)間是多少毫秒?
在項(xiàng)目中,點(diǎn)擊所有導(dǎo)出數(shù)據(jù),通過Ajax的實(shí)現(xiàn),將數(shù)據(jù)庫中相應(yīng)的數(shù)據(jù)轉(zhuǎn)換成excel文件格式,可以下載給用戶。事實(shí)上,數(shù)據(jù)量非常大。Ajax請求響應(yīng)時(shí)間過長,導(dǎo)致瀏覽器長時(shí)間不響應(yīng)。有幾種方法可以解決這個問題:第一種是設(shè)置Ajax請求時(shí)間。測試后:服務(wù)器處理方法中的線程延遲證明超時(shí)無效,客戶端等待響應(yīng),狀態(tài)返回成功。請注意,超時(shí)意味著設(shè)置請求超時(shí),而不是服務(wù)器響應(yīng)時(shí)間!第二種情況是,當(dāng)您返回?cái)?shù)據(jù)時(shí),您嘗試返回較小數(shù)據(jù)的字節(jié),這些字節(jié)可以單獨(dú)傳輸。
ajax如何設(shè)置超時(shí)時(shí)間?
Ajax請求有一個參數(shù),請參考
var ajaxtimeout=$。Ajax({
URL:”,//請求URL
超時(shí):1000,//超時(shí)設(shè)置,單位:MS
類型:“get”,//請求模式,get或post
數(shù)據(jù):{},//請求參數(shù),JSON格式
數(shù)據(jù)類型:“JSON”,//返回?cái)?shù)據(jù)格式成功:功能(data){//callback function for successful request
alert(“success”]},
complete:函數(shù)(XMLHttpRequest,status){//請求完成后,最后的執(zhí)行參數(shù)
if(status=“timeout”){//timeout,status,success,error等ajaxTimeOut.abort終止()//取消請求
警報(bào)(“timeout”
}
設(shè)置超時(shí)時(shí)間。通過在完成時(shí)檢測status的值,它確定請求是否超時(shí)。如果超時(shí),它將取消請求
默認(rèn)情況下,它未配置,即未啟用超時(shí)。您需要傳遞timeout參數(shù)來設(shè)置超時(shí)。檢查jQuery的源代碼:第298行提供了timeout參數(shù)643來判斷用戶是否通過了timeout>0來決定是否打開超時(shí)處理
jQuery的Ajax有一個timeout參數(shù)來設(shè)置以毫秒為單位的超時(shí)。
$.ajax({url:“測試.html,緩存:false,超時(shí):5000,成功:function(html){$(“#results”).append(html)})