目前我正在研究jQuery Mobile網站,該網站稍後將通過Titanium轉換爲應用程序。我創建了一個RESTful JSON Web服務,它運行在與jQuery Mobile應用程序不同的服務器上。 Web服務通過使用JSONP的AJAX消耗。jQuery Mobile App +遠程REST Webservice:JSONP的替代方案?
我發現惱人的一件事是我無法使用HTTP錯誤代碼,因爲每當服務器發出錯誤時,jQuery都會自動中止JSONP調用。我永遠無法掌握客戶端的錯誤代碼。另一件事是,JSONP只適用於HTTP動詞GET,你不能發出JSONP POST例如(目前,Web服務僅僅是GET,但可以改變)。
有沒有JSONP的替代品?或者JSONP是我在使用AJAX使用遠程JSON Web服務時唯一的選擇?例如,Twitter應用程序如何與Twitter API交互(它們具有REST API)?
我不相信有,因爲同源策略的侷限性,許多替代JSONP。谷歌搜索發現[這篇文章](http://donatstudios.com/JSONP),它有一些爲什麼它存在的信息。這聽起來像是jQuery如何爲你打電話的主要問題;你有沒有看過寫/重寫呼叫以傳回狀態碼? – 2011-06-15 14:56:04
感謝您的評論Paul DelRe。你的意思是覆蓋jQuery的ajax()函數嗎? – sustainablepace 2011-06-16 07:21:32
我建議你看看如何在JavaScript中做到這一點或jQuery如何在JavaScript中做到這一點。我不會改變任何東西到你的jQuery代碼副本中,因爲這會讓他們在發佈新版本時很難保持最新狀態。一旦你瞭解他們如何做到這一點,你可以編寫自己的功能,但我相信它已經完成,所以谷歌首先(如naugtur)。 – 2011-06-16 13:27:23