目前我正在研究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