0

Phonegap Build アプリ経由で PhoneGap を使用するアプリに変換しようとしている HTML/JavaScript アプリがあります。

ブラウザーを介してすべてが正常に機能し、アプリが抱えている唯一の問題はgetJSON、ローカル リソースを読み込もうとしたときに への呼び出しが 404 エラーを返すことです。

これが犯人です:

$.getJSON( "./shapes/json/" + abbr + '.json', gotJSON(abbr) );

念のため、すべてのドメインをホワイトリストに登録しました。

<access origin="*" />

これはphonegap環境からはできないことですか?それとも私は何か間違ったことをしていますか?

必要に応じて、ファイルを別の場所にホストして、クロスドメインの ajax 呼び出しを実行できますが、ファイルをデバイス上に直接配置したいと考えています。

これは現在、私がテストできる唯一のシステムである Android で発生しています。

アップデート:

私は今しようとしています:

    var xhrShapes = new XMLHttpRequest(), xhrSuccess = gotJSON(abbr);

    xhrShapes.open('GET', config.path + "/shapes/json/" + abbr + ".json");
    xhrShapes.onreadystatechange = function(e){
        if( this.readyState === 4 ){
            if( this.status === xhrSuccessCode ){
                xhrSuccess(JSON.parse(this.responseText));
            }
        }
    }
    xhrShapes.send();

config.path「file:///android_asset/www」であり0、成功コードとして取得しています(「file://」リクエストの成功を示します)。がxhrShapes.responseText空白で、 への呼び出しですべてが停止しますJSON.parse。シンプルなものが欠けているような気がします...

4

1 に答える 1

1

問題はコードとは何の関係もありませんでしたが、ファイル名の大文字と小文字が区別されていました...私のabbr変数は大文字でしたが、ファイル名は小文字でした。 $.getJSONこれを修正したので、完全に機能します(ただし、私のプライドには修理が必要です)。

于 2013-01-11T17:11:14.347 に答える