Ajax调用如何在移动应用程序(PhoneGap)中运行,而不是在PC浏览器中运行?

Ajax对服务器页面的调用如何在移动应用程序中完美运行(使用PhoneGap)。 但是,当我从PC浏览器中的普通HTML页面运行相同的Ajax调用时,它无法正常工作。 我猜这个问题是跨域的。 但是,它如何在移动应用程序中运行良好。

使用JSONP它在PC浏览器和移动应用程序(使用PhoneGap)中运行良好。 但在没有datatype="jsonp"移动应用程序中工作正常。

来自PhoneGap FAQ :

问:我想为phonegap创建一个应用程序,以通过AJAX访问外部部署的Web服务。 如何使用XmlHttpRequest的跨域安全策略解决问题?

答:跨域安全策略不会影响PhoneGap应用程序。 由于webkit使用file:// protocol调用html文件,因此安全策略不适用。 (在Android中,您可以通过编辑AndroidManifest.xml将android.permission.INTERNET授予您的应用)

移动应用程序(PhoneGap,Adobe AIR,Titanium,Native等)对桌面浏览器执行的XHR请求没有相同的来源限制。 他们可以进行任何他们想要的跨域调用。 这就是为什么它在手机上工作正常而不在桌面上。

JSONP可以正常工作,因为它不使用XHR。 它使用

我猜所有基于WebView的视图都没有关于跨域XHR请求的限制规则。 跨域请求的另一种方法是服务器端桥接。

你可以使用iqouta在phonegap搜索iqouta进行ajax调用,它很容易使用!!