jQuery的ajax子產品封裝了非常強大的功能,有時候我們在發送一個ajax請求的時候希望能有一個逾時的時間,想讓程式在一段時間請求不到資料時做出一些回報。幸運的是jQuery為我們提供了這樣的參數:timeout。今天試了一下,做個記錄。
首先在試驗之前,有一個一直搞不明白的東西,那就是預設的逾時時間是多少?這個配置在到底在什麼地方設定。jQuery中?還是apache中?PHP中?
經過一番搜尋,暫得到如下結論:
①jQuery沒有預設的逾時時間,隻可以通過參數來配置;
②apache2的預設逾時時間是300秒,但是我在httpd.conf中設定Timeout 10,壓根沒起到作用,不明白是怎麼回事
③php.ini中,隻找到一個max_execution_time來配置腳本最長執行時間,貌似也沒什麼關系
智商捉急。。。哪位高手知道,一定告訴一下我啊~~
下面來看jQuery中的timeout參數,值為Number類型,機關為毫秒。為了在逾時的時候執行我們定義好的處理函數,可以把它放在error參數中,如下代碼:
s.php中的内容為sleep(100)。這樣在3秒後會輸出error:timeout,textStatus即為錯誤的内容。這個還是很用的,如果你的error函數中還要進行其他處理,為了不與逾時混在一起,可以這麼寫:
還可以把函數寫在complete中,因為無論success還是error,complete函數都會執行。
本文轉自呂大豹部落格園部落格,原文連結:http://www.cnblogs.com/lvdabao/p/3383240.html,如需轉載請自行聯系原作者