PhoneGap(最新)のJquery1.7を使用しています。AJAXを介してdivにHTMLをロードするのに問題があります。私の問題は単純です。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
}
}
});
このエラーをグーグルで検索して1日を過ごした後、私はさまざまなことを試しましたが、AJAX呼び出しは成功しません。URLを単純に_liqui-cult.html
(file://ベースの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が空白です。
では、クロスオリジンの問題はどうですか?これが私が試したことです:
<access origin=".*"/>
<access origin="file://*"/>
<access origin="*"/>
繰り返しになりますが、さまざまなアクセス元の設定を使用して、htmlファイルにマッピングするすべての方法を試しましたが、それでもhtmlファイルをロードできません。
何か案は?