$.getJSON
の省略形です$.ajax
。
これは省略形の Ajax 関数であり、次と同等です。
$.ajax({ dataType: "json", url: url, data: データ, success: 成功 });
非同期オプションを通過するオプションがないことに気付くでしょう。追加しようとしているパラメータは、実際には ajax リクエストでasync: false
に送信されるデータです。url
代わりにこれを試してください:
$.ajax({
dataType: "json",
url: url,
async: false,
data: data,
success: success
});
また、あなたの発言
すべてが良好であることを確認するために、これを同期的に行う必要があります
間違っています。非同期コールバックから「すべてが正常であることを知る」ことができます。サンプルコードは、次のように記述した場合、上記でやろうとしていることを正確に実行します。
function getJSON(url){
var result;
$.getJSON(url, function(data) {
alert(data);
// do other stuff with data, call other methods etc. etc.
});
}
次のように、コールバック関数を個別に定義して に渡すこともできます$.getJSON
。
function jsonCallback(data) {
alert(data);
// do other stuff with data, call other methods etc. etc.
}
function getJSON(url){
var result;
$.getJSON(url, jsonCallback);
}