1

Windows Phone 8 で PhoneGap プロジェクトに取り組んでいます。JavaScriptwww/から実行時にフォルダーにあるリソースにアクセスするソリューションが見つかりません。

私のプロジェクトは次のようになります:

- www/
 `- css/
 `- js/
   `- main.js
   `- data1.json
   `- data2.json
 `- index.html

私のスクリプトでは、またはのいずれかmain.jsをロードしたいと考えています。data1.jsondata2.json

私はうまくいかない多くの解決策を試しました:

jquery の AJAX 関数

this.op = (function() {
  var val = null;
  $.ajax({
    async: false,
    url: 'www/js/data1.json',
    success: function(data) {
      console.log('DATA: ' + data);
      val = JSON.parse(data);
    }
  });
  return val;
})();

PhoneGap のファイル プラグイン サンプル

fileSystem.root.getFile("js/data1.json", null, gotFileEntry, fail);

また、関数を使用してルートファイルシステムからディレクトリをリストすることにより、ファイルシステムを検査しようとしました。これにより、次のような結果になりました。

`- /
  `- __Application Settings
  `- Microsoft
    `- Internet Explorer
      `- DCOM
  `- Shared
    `- Media
    `- ShellContent
    `- Transfers

これらのフォルダはいずれも、www/または私のバンドルにつながります。*.jsonファイルを動的にロードする方法が見つかりません。

どんな助けでも大歓迎です。

4

1 に答える 1

2

私の問題は、私のファイルにアクセスするための親戚のパスの使用でした。

私はrequireJSのプラグインを使用してファイルを含めていましたが、このプラグインは私のファイルへのばかげた親戚のパスを作成しました app/../js/data1.json

今はうまくいきます。

編集:プラグインのパスの計算を変更して、次のような不要なディレクトリの変更を削除しました:

app/../js/data1.json

になります

js/data1.json

すべてのパスが同じ方法で計算されたため、サブストリングだけで十分でした。

于 2013-03-12T10:21:36.150 に答える