4

何千回も前に聞かれたと感じる質問をするのは本当に嫌いです。これは、他の人が遭遇したに違いないと思う質問の1つですが、スタック オーバーフロー検索 たので、想定される解決策はどれもうまくいかないので、何か間違ったことをしているに違いありません。

私は非常に簡単なアプリのセットアップをしています。index.htm、およびterms.htm。test.htmにはいくつかのテキストデータがあります。両方を設定$.support.cors = true;$.mobile.allowCrossDomainPages = true;、データが読み込まれた後の適切なタイミングで設定します。

最初に、terms.htmのデータをインデックス内の要素にロードしようとしました$('#elementid').load('terms.htm');(テストとインデックスの両方が同じルート/ asset / www /ディレクトリにあり、Webビューはインデックスを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);
       }
});
4

4 に答える 4

0

100%確信はありませんが、ICS4.0.3の問題だと思います。4.0.2ではajaxは完全に正常に機能しているようですが、4.0.3でもajaxは機能しません。あなたのように、私はすべてを試しましたが、何もうまくいきませんでした。

私はPhoneGapを使用しています。Ajaxは標準のブラウザーでは正常に機能しますが、PhoneGapアプリでは機能しません。

于 2012-04-20T03:18:09.107 に答える
0
于 2012-04-20T07:21:45.893 に答える
0

このリンクを参照してください。私は同じ問題を抱えていましたが、これで解決しました。また、1.6.0 で修正されたと思いますが、iOS でも PhoneGap 1.6.1 で同じ問題が発生しています。

于 2012-04-20T15:56:47.003 に答える
0

それは単なるロングショットですが、「$.support.cors = true; と $.mobile.allowCrossDomainPages = true; の両方を、ロード後の適切なタイミングで設定しました」と言います。jQuery モバイルのドキュメントには、 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>

私が言ったように、ただの推測です...

于 2012-04-21T20:55:03.830 に答える