编辑:JQuery Mobile + Phonegap AJAX 问题的解决方案:
subdomains="true"
config.xml 中的属性是无法在phonegap 2.9.0 中工作,对子域的每个请求都将返回 200,但 $.ajax 不会触发 success 函数(并且 $.getJSON 无论如何也不会触发)。
另:语法*.domain.tld
正如官方文档中所述not工作,我发现解决该问题的唯一方法:将访问源和访问 uri 设置为"*"
(all)
<access origin="*"/>
<access uri="*"/>
我正在使用 jQuery Mobile 框架和 Phonegap 开发移动应用程序。
我刚刚向我的应用程序添加了一个 AJAX 请求,该请求用于从我的网络服务器获取数据。
页面已正确加载,但 Android (4.1.2) 从未触发 AJAX 事件或从未从 Web 服务器获取请求,事实上它只是挂在加载微调器上。
奇怪的是,我已经使用 AJAX 请求到同一台服务器(但具有不同的域),效果非常好:
$.getJSON("[...]checkupdate.php?callback=?", function(data){
[...]
})
我也尝试使用 $.getJSON 执行第二个请求,它在我的计算机上有效,但在 Android 上失败。我开始寻找解决方案,发现在 $.ajax 中将缓存设置为 false 可能会有所帮助,因此我重写了代码,但它仍然无法正常工作。
$.ajax({
cache : false,
type: 'GET',
url: requestURL,
dataType: 'jsonp',
context: document.body,
success: function(data){
[...]
}});
还需要做什么才能使其发挥作用吗?