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调用,它很容易使用!!