我真的很讨厌问我之前被问过的问题。这是我认为其他人必须遇到的问题之一,but having searched stack overflow,所谓的解决方案都不适合我,所以我必须做错了......
我有一个非常简单的应用程序设置。 index.htm和terms.htm。 test.htm中有一些文本数据。我在加载内容后的适当时间设置了$.support.cors = true;
和$.mobile.allowCrossDomainPages = true;
。
首先,我尝试使用$('#elementid').load('terms.htm');
将terms.htm的数据加载到索引中的元素中(test和index都在同一个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);
}
});
答案 0 :(得分:0)
我不是百分百肯定,但我认为这是ICS 4.0.3的问题。在4.0.2 ajax似乎工作得很好,但对我来说也是4.0.3,没有ajax。像你一样,我已经尝试了一切,没有任何效果......
我正在使用PhoneGap btw。 Ajax在标准浏览器中运行良好,但在PhoneGap应用程序中无效。
答案 1 :(得分:0)
如果您在Chrome中运行应用程序 然后您需要禁用-web-security并启用加载本地文件,请参阅Cross-domain requests using PhoneGap and jQuery doesn't work 否则 Safari或模拟器或网络服务器 然后它应该有效
答案 2 :(得分:0)
见link。我有同样的问题,这解决了它。另外,我认为他们在1.6.0中修复了它,但我现在在iOS上看到了与PhoneGap 1.6.1相同的问题。
答案 3 :(得分:0)
这只是一个很长的镜头,但你说“我设置$ .support.cors = true;和$ .mobile.allowCrossDomainPages = true;在填充内容后的适当时间。 ”。 jQuery移动文档说you have to set your global configuration before you load JQM:
由于立即触发了mobileinit事件,因此您需要绑定事件 加载jQuery Mobile之前的处理程序。链接到您的JavaScript文件,如下所示 顺序:
<script src="jquery.js"></script>
<script src="custom-scripting.js"></script>
<script src="jquery-mobile.js"></script>
在你的情况下,这将是:
<script src="jquery.js"></script>
<script>
$(document).bind("mobileinit", function(){
$.support.cors = true;
$.mobile.allowCrossDomainPages = true;
});
</script>
<script src="jquery-mobile.js"></script>
就像我说的那样,只是一个猜测...