编辑: JQuery Mobile + Phonegap AJAX 问题的解决方案:
subdomains="true"
config.xml 中的属性在phonegap 2.9.0 中不起作用,对子域的每个请求都将返回 200 但 $.ajax 不会触发成功功能(并且 $.getJSON 无论如何也不会触发)。*.domain.tld
另外:官方文档中所述的语法不起作用,我发现解决该问题的唯一方法是:将访问来源和访问 uri 设置为"*"
(全部)
<access origin="*"/>
<access uri="*"/>
我正在使用 jQuery Mobile Framework 和 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){
[...]
}});
是否还有其他事情要做才能让它发挥作用?