在Android / PhoneGap上运行的jQueryMobile拒绝.load / .ajax

我真的很讨厌问我之前曾被问过一千次的问题。 这是我认为其他人必须遇到的问题之一, 但是 搜索了 堆栈 溢出 ,没有任何假设的解决方案对我有用,所以我一定做错了什么…..

我有一个非常简单的应用程序设置。 index.htm和terms.htm。 test.htm中有一些文本数据。 我设置$.support.cors = true;$.mobile.allowCrossDomainPages = true; 在东西加载后的适当时间。

起初我尝试使用$('#elementid').load('terms.htm');将terms.htm的数据加载到索引中的元素$('#elementid').load('terms.htm'); (测试和索引都在相同的root / assets / www /目录中,我的webview加载索引oncreate)但绝对没有发生任何事情。 所以我选择尝试.ajax,这样我至少可以得到一条错误信息,而我得到的只是’错误’。 当然,可以在DroidGap上使用JQ加载本地文本资产吗?

 $('#header').load('terms.htm'); $.ajax({ type:"GET", timeout:10000, async: false, url: "terms.htm", success: function(data) { $('#header').html(data); }, error: function(xhr,msg){ alert( msg); } }); 

我不是百分百肯定,但我认为这是ICS 4.0.3的一个问题。 在4.0.2 ajax似乎完全正常,但对我来说也是4.0.3,没有ajax。 像你一样,我已经尝试了一切,没有任何效果……

我正在使用PhoneGap btw。 Ajax在标准浏览器中运行良好,但在PhoneGap应用程序中无效。

如果您在Chrome中运行应用程序然后您需要禁用-web-security并启用加载本地文件,请参阅使用PhoneGap的跨域请求并且jQuery不起作用 如果是 Safari或模拟器或Web服务器那么它应该工作

看到这个链接 。 我有同样的问题,这解决了它。 另外,我认为他们在1.6.0中修复了它,但我现在在iOS上看到了与PhoneGap 1.6.1相同的问题。

这只是一个很长的镜头,但你说“ 我设置$ .support.cors = true;和$ .mobile.allowCrossDomainPages = true;在填充内容后的适当时间。 ”。 jQuery移动文档说你必须加载JQM 之前设置全局配置 :

由于mobileinit事件是立即触发的,因此您需要在加载jQuery Mobile之前绑定事件处理程序。 按以下顺序链接到JavaScript文件:

    

在你的情况下,这将是:

    

就像我说的,只是一个猜测……