编辑:JQuery Mobile + Phonegap AJAX问题的解决方案:
config.xml中的 subdomains="true"
属性无法在phonegap 2.9.0中运行,对子域的每个请求都将返回200但$ .ajax将不会触发成功函数(和$ .getJSON反正不会开火)。
另外:正式文档中所述的语法*.domain.tld
不正在工作,只有我找到解决该问题的方法:设置访问来源并访问uri到"*"
(全部)< / p>
<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){
[...]
}});
还有什么可以让它发挥作用吗?
答案 0 :(得分:0)
我找到了解决这个问题的方法。我注意到,phonegap的config.xml中的subdomains="true"
属性不起作用。 (Phonegap 2.9.0)。对子域的每个请求都将返回状态200,但$.ajax
不会触发成功函数(并且$.getJSON
无论如何都不会触发)。正式文档中所述的语法*.domain.tld
对我来说也不起作用,只有我找到解决该问题的方法是设置访问来源并访问uri到"*"
(全部)