2010-11-10 79 views
72

有誰知道默認的jQuery ajax超時值是什麼?什麼是jQuery的ajax默認超時值?

+3

看來它是未定義的,並留在瀏覽器中的具體實現:http://stackoverflow.com/questions/2507355/jquery-ajax-call-default-timeout-value http://stackoverflow.com/questions/3394760/jquery-ajax-timeout-undefined – erkmene 2010-11-10 20:43:40

回答

81

默認值爲0technically it's undefined,但表現爲0)。這意味着jQuery本身沒有超時......如果瀏覽器有一些超時,那麼完全有可能會達到這個目的。

只有當指定timeout選項does jQuery even call setTimeout()

+0

我的測試表明erkmene,上面,實際上是正確的 - 瀏覽器設置超時... – hwjp 2012-09-05 10:42:23

+2

@hwjp - 源代碼中的行號在最近的版本中發生了變化,但上面的答案仍然是正確的,請注意jQuery本身的'timeout> 0'檢查:https://github.com/jquery/jquery/blob/master/src/ajax.js#L700這不是一個關於原始'setTimeout( myFunc,0);',它是關於jQuery的'.ajax()'實現,當沒有指定時。默認值仍然是'未定義',但是在檢查時行爲如0 [https://github.com/jquery/jquery/blob/master/src/ajax.js#L277]。 jQuery **的默認值**(問題提出的問題)仍然有效地爲0. – 2012-09-05 11:57:45

+11

當然 - 我只是認爲大多數人更關心什麼是有效超時......所以最好的答案是「默認情況下超時是由瀏覽器設置「 - 後面是whys + hows的技術說明... – hwjp 2012-09-05 15:27:35