我使用的PhoneGap(最新的),jQuery的1.7。 我有麻烦得到一些HTML通过AJAX加载到一个div。 我的问题很简单,我在WWW /目录中的index.html文件。 和js文件,做这样的:
$.ajax({
type:"GET",
timeout:10000,
dataType: "html",
async: false,
cache: false,
url: "file:///android_asset/www/_liqui-cult.html",
success: function(data) {
$('#data_details .description').html(data); // never runs
},
error: function(xhr,msg){
alert(xhr.status + ", " + msg);
if(xhr.status == 0 || xhr.status == "0"){
alert(xhr.responseText); // always blank, if runs
}
}
});
在花了一天谷歌搜索这个错误,我试过很多东西,但AJAX调用从未成功。 我试图更改URL简单, _liqui-cult.html (不包含文件://基于URL)。 我也试过/_liqui-cult.html 。
我开始了JQuery的尝试$.load ,那是行不通的,所以我切换到更详细的$.ajax调用。
无论我做什么,我要么得到一个404的状态,或者,如果我改变的URL http://_liqui-cult.html ,我得到0的responseText的状态,但一无所获。
所以,我把JQuery的的方程,并尝试一个简单的XMLHttpRequest,像这样:
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && (xmlhttp.status==200 || xmlhttp.status==0))
{
$('#data_details .description').html(xmlhttp.responseText);
$.mobile.changePage('#screen_detail');
}
}
xmlhttp.open("GET","_liqui-cult.html", true);
xmlhttp.send(null);
再次,我已经试过各种可能的URL模式映射到HTML文件。 而且,我仍然能得到最好的是xmlhttp.responseText是空白。
因此,如何跨域问题? 以下是我已经试过:
再次,我已经试过映射的所有方式的HTML文件,这些不同的访问起源的设置,我仍然无法加载HTML文件。
有任何想法吗?