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