gpt4 book ai didi

android - 使用 PhoneGap,无法仅在 Android 上使用 Ajax 加载本地 .html 文件

转载 作者:太空狗 更新时间:2023-10-29 12:52:28 24 4
gpt4 key购买 nike

我正在使用 PhoneGap(最新),Jquery 1.7。我无法通过 AJAX 将一些 html 加载到 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 (没有基于 file://的 url)。我也试过 /_liqui-cult.html .

我开始尝试使用 JQuery $.load ,那是行不通的,所以我切换到更详细的 $.ajax打电话。

无论我做什么,我要么得到 404 作为状态,要么,如果我将 url 更改为 http://_liqui-cult.html ,我的状态为 0,但响应文本中没有任何内容。

因此,我将 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 是空白的。

那么跨源问题呢?这是我试过的: <access origin=".*"/> <access origin="file://*"/> <access origin="*"/>

同样,我已经尝试了所有映射到 html 文件的方法,使用那些不同的访问源设置,但我仍然无法加载 html 文件。

有什么想法吗?

最佳答案

将获取 AJAX 加载的 html 文件的名称从“_liqui-cult.html”更改为不带下划线的相同名称“liqui-cult.html”解决了该问题。

关于android - 使用 PhoneGap,无法仅在 Android 上使用 Ajax 加载本地 .html 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10889278/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com