jQuery を自己定義関数内で使用すると問題が発生します。
次のように、.html から直接 jQuery を開始する場合:
<script type="text/javascript" src="js/MyJS.js"></script>
MyJS:
$.getJSON('MyFilePath', function(data)
{
var items = [];
$.each(data, function(key, val)
{
//Doing things with my data.
});
});
それは正常に動作し、私のファイルを返します。(json構造のプレーンテキストファイルを使用しています)。
しかし、関数から開始しようとすると、たとえば:
function getAllDepts()
{
$.getJSON('MyFilePath', function(data)
{
var items = [];
$.each(data, function(key, val)
{
//Doing things with my data.
});
});
}
うまくいきません。彼は私のファイルを読み込めないようですが、理由がわかりません。
と:
$.ajax({
url: "MyFilePath",
success: function(data){
console.log(data);
},
error: function(data){
alert(error);
}
});
データを取得することはできますが、getJSON が機能しない理由を知りたいだけです。getJSON にはローカル ファイルの読み込みに関する問題があると読みましたが、それが私の問題に当てはまるかどうかはわかりません。
何か案は?
@コメント:
- はい、.hmtl で onclick:"getDepts()" を介して関数を呼び出していますが、正しく呼び出されます。
- getJSON が正しく動作していないため、戻り値は一歩先を行っています。Firebug(Firefox)でデバッグするとメソッドが呼び出されるため、jQueryの考えでは問題ありません。主な問題は、彼がファイルをロードできないことです。
- 私のデータ ファイルは .txt です。json構造で。( http://jsonlint.com/でjson構造を確認したところ、問題ないとのことでした)
- ファイルはローカルに保存され、firebug の使用中にエラーが表示されないため、404 のようなエラーはありません。
- この投稿の編集中に構文エラーを作成しました。ブレースを修正しました。