2009-01-26 57 views
-1

我有一個JQuery客戶端,這個JS調用一個頁面(GET HTTP)並設置超時。超時的目的是:「如果服務器沒有響應,請做些事情」。 如果我使用Apache Web服務器來管理頁面,則會執行超時。如果我使用IIS 6.0,超時將被「跳過」,並且頁面嘗試(無論如何)服務器響應。 這是腳本:JQuery超時不執行

//客戶端

$.ajax({ 
    type: "GET", 
    url: "some.php", 
    data: "name=John&location=Boston", 
    timeout: 5000 
    success: function(msg){ 
     alert("Data Saved: " + msg); 
    }, 
    error: function(request, errorType, errorThrown){ 
     alert("opppsssss .... "); 
    } 
}); 

我想這是一個IIS..is是正確的?或者我在JQuery代碼中犯了錯誤?

最好regerds

多梅尼科

+0

你錯過了,超時 – 2009-01-26 17:26:04

+0

-1後使用堆棧溢出以查找語法錯誤。 – Bombe 2010-10-21 19:21:27

回答

1

正如保羅在評論中提到,你錯過的超時聲明之後逗號。我最近有一種情況,像這樣的對象聲明中的缺失逗號會導致IE扼殺腳本並且不能正確運行(當firefox運行它時沒有問題)。

那將不能解釋爲什麼不同的服務器會導致不同的行爲,但它很可能是值得一修復,首先和重新測試,爲的行爲可能會發生變化,可能會更容易調試。

+0

我第二本 - 我見過幾次火狐慷慨解釋以這種方式,其中IE會嗆缺少逗號聲明JavaScript對象。不管這是否導致他擔心的問題,這是一個問題。 – Clyde 2009-01-27 02:47:53

0

感謝您迴應,我完成了這個問題:)

服務器代碼:

//後端some.php

<?

//模擬長時間任務

sleep(10); //睡眠10秒

//發送響應

回聲 「一些測試數據」;

? >

對不起,逗號錯誤是我的切口&粘貼錯誤..

的問題,這是在超時結束,錯誤對話框不會出現,因爲從服務器的連接不被中斷超時,所以但服務器(緩慢)響應。

有你的想法,因爲服務器的連接不會中斷?