我正在用 html5 w/jquerymobile 构建一个半动态应用程序,目标是 atm。是iOS开始的。但问题是我需要使用(请求)标头参数联系网络服务,这是不可行的。
我的问题可能非常初级,但由于我在 netbeans 中开发,我遇到了无法从跨域获取数据的问题。
(切入正题)。在 phonegap/{非原生“离线”应用程序}。如何设置域/是否有使用 headerparams 发出 http get/post 请求的解决方法?
我正在用 html5 w/jquerymobile 构建一个半动态应用程序,目标是 atm。是iOS开始的。但问题是我需要使用(请求)标头参数联系网络服务,这是不可行的。
我的问题可能非常初级,但由于我在 netbeans 中开发,我遇到了无法从跨域获取数据的问题。
(切入正题)。在 phonegap/{非原生“离线”应用程序}。如何设置域/是否有使用 headerparams 发出 http get/post 请求的解决方法?
如果您使用的是 Phonegap,则 Web 应用程序将在 file:// 协议之外运行,并且不受跨域限制的约束。
编辑:如果您使用的是 jQuery Mobile 和 Phonegap,您需要将其设置$.support.cors
为$.mobile.allowCrossDomainPages
true。
来自 jQueryMobile文档:
由于 jQuery Mobile 依赖于 jQuery 核心的 $.ajax() 功能,$.support.cors 必须设置为 true 以告诉 $.ajax 加载跨域页面。我们听说过一些平台上的 webviews,比如 BlackBerry,支持跨域加载,但是 jQuery 核心错误地将 $.support.cors 值设置为 false,这会禁用跨域 $.ajax() 请求并导致页面或资产无法加载。
$(document).bind( "mobileinit", function(){
$.support.cors = true;
$.mobile.allowCrossDomainPages = true;
});