2013-04-16 84 views
2

我無法用我的jquery代碼捕捉錯誤的請求錯誤。jQuery:處理跨域jsonp錯誤請求錯誤

$.get('http://example.com/', {}, function() {}, 'jsonp') 
.done(function() { 
    // never fires 
}) 
.fail(function() { 
    // never fires 
}) 
.always(function() { 
    // never fires 
}); 

我剛剛得到的錯誤

GET http://example.com?callback=jQuery17102424617672804743_1366109250123&_=1366111087274 404(未找到)

+0

你試圖打開該鏈接在瀏覽器看到的結果?它顯示正確的數據嗎? – Narek

+0

它顯示我的虛擬主機的404頁面,這是我所期望的。當我的應用程序出現故障時,我想趕上這個404頁面。 – user2286201

回答

4

不能使用.get調用其他領域。您需要撥打jsonp致電.ajax

但它是不夠的,得到錯誤。您還需要指定timout屬性。沒有它你將不會得到錯誤。

$.ajax({ 
    url: 'http://hq.am/asdasdasdasd?callback=?', 
    timeout: 3000, 
    dataType: "json", 
    error: function(data){ 
     alert('error'); 
    } 
}); 

Sample

+0

是的添加超時屬性做了訣竅。謝謝。 (這也觸發fail()回調) – user2286201