2014-04-10 250 views
2

以下是在$(document).ready函數中調用的JavaScript。在IE瀏覽器工作正常,並返回記錄,如在Firefox和鉻它的錯誤。但錯誤沒有給出任何細節。它只是說ready狀態= 0,status = error且responseText爲空。ajax調用不工作在Firefox和鉻,但在IE中工作

var surl = serviceUrl + trainingService + "GetLastUpdateDate/"; 

$.ajax({ 
    url: surl, 
    dataType: 'json', 
    success: function (data) { 
     alert("SUCCESS: " + data.d.length); 
    }, 
    error: function (xhr, textStatus, error) { 
     alert("readyState: " + xhr.readyState + "\nstatus: " + xhr.status); 
     alert("responseText: " + xhr.responseText); 
    } 
}); 

正如有人在下面的評論中提到的是firebug調試器的截圖,正如我前面提到的那樣,它沒有提供太多細節。

firebug watch window

+3

聽起來像是一個很好的時間進行磋商,Chrome開發者工具的「網絡」選項卡(命中F12),看看ajax調用實際上在做什麼。 – Dave

+2

哇,IE的作品,但FF和谷歌瀏覽器沒有?!這是新的! rsrs – brunozrk

+0

我們需要一個「控制檯說什麼」的歌曲。 –

回答

0

是您的Ajax調用同一個域的請求?如果不是,則應該使用JSONP而不是JSON。

https://api.jquery.com/jQuery.ajax/ 

https://learn.jquery.com/ajax/working-with-jsonp/ 

另外,我已經看到,其中IE將工作和鉻和Firefox不會如果AJAX請求不是相同的協議請求頁面的(如果網頁是HTTPS並且AJAX調用是http例如)。

最後,您是否在Firefox和Chrome上安裝了任何未安裝在IE上的廣告攔截插件?我已經看到某些廣告攔截插件會阻止Ajax請求。

+0

不,Firefox和Chrome上沒有安裝插件。我在同一個域和跨域上嘗試了這一點,但在兩種情況下都不起作用。 –

+0

對於本地dev也很常見 - >「http://」爲「file://」 –

0

我有這個問題,它是因爲我使用<button onClick="doSomething()">button</button>這是導致頁面做的,而不是使用<input type="button" onClick="doSomething()" value="button"/>回傳非常完美

相關問題