2013-10-15 119 views
0

我使用jaubourg的jquery-jsonp module從不同於我的網站的域中獲取數據。我使用這個模塊,因爲jQuery的ajax函數不支持JSONP請求的錯誤處理。如何在錯誤回調函數中使用jquery-jsonp獲取失敗的jsonp請求的HTTP錯誤代碼?

當我使用此庫的jsonp函數向不存在的URL發送請求時,將調用error回調函數,但我看不到我如何檢索HTTP錯誤代碼,以查看出錯的原因。

根據the documentation,在error回調函數唯一可用的數據是xOptions對象,定義請求,以及textStatus串可以是「錯誤」或「超時」。在我的情況下,這是「錯誤」,但我看不到我怎麼能看到哪個錯誤發生了。

+0

你確定[jQuery ajax](https://api.jquery.com/jQuery.ajax/)不支持嗎? >>「完成回調選項將在請求結束時觸發,無論是失敗還是成功。它接收jqXHR對象,以及包含成功或錯誤代碼的字符串。」 – gonzalon

回答

0

您不能

讓我們回想一下JSONP的功能。試想一下:

$.jsonp({ 
    url: "http://service.org/path?param1=xx&param2=xx", 
    callback: "myCbFn", 
    error: myErFn 
}); 

這是什麼會做的就是添加像這樣到DOM:

<script type="application/javascript" 
     src="http://service.org/path?param1=xx&param2=xx&jsonp=myCbFn" 
     onerror="myErFn"> 
</script> 

你的錯誤處理功能將通過在腳本標籤的DOM事件被調用。

區分JSONP和AJAX(XML HTTP請求)非常重要。

相關問題