對(duì)于使用jQuery ajax發(fā)送請(qǐng)求時(shí),如何設(shè)置請(qǐng)求超時(shí)時(shí)間呢?
通過設(shè)置timeout屬性即可:
$.ajax({ url: 'example.php', dataType: 'json', timeout: 5000, // 設(shè)置請(qǐng)求超時(shí)時(shí)間為5秒 success: function(data) { // 處理成功回調(diào) }, error: function(xhr, textStatus, errorThrown) { // 處理失敗回調(diào) } });
timeout屬性的單位為毫秒。
如果請(qǐng)求超時(shí),error回調(diào)函數(shù)中的textStatus參數(shù)的值為 'timeout'。
注意:timeout屬性不是一個(gè)完整的請(qǐng)求超時(shí)時(shí)間。實(shí)際上,整個(gè)請(qǐng)求過程分為三個(gè)階段:建立連接階段、發(fā)送請(qǐng)求頭階段和等待響應(yīng)階段。timeout屬性只控制了后兩個(gè)階段的時(shí)間。建立連接階段的超時(shí)時(shí)間是不可設(shè)置的。