I次のスクリプトを持っている:非同期を使用せずにグローバル変数へのAJAXの応答を割り当てる:偽
var myData;
$.ajax({
url: "/foo.php",
dataType : 'json',
type: "POST",
async: false
})
.done(function(data) {
myData = data;
});
私はmyData
にAJAX応答からデータを割り当て、さらに下でこの変数を参照されやりたいすべて私のスクリプト。上記のコードはうまくいくようですが、私が読んだasync: false
に依存しているのは良いことではありません。私がこれをコメントアウトすると、デフォルトのasync: true
が使用されます。myData
には何も割り当てられません。
私はjQuery ajax success callback function definitionの投稿を読んだことがありますが、適応できないため、myData
のデータにアクセスできます。また、2013年に質問されたので、それがまだ正確か、これについて正しい方法があるかどうかはわかりません。
どうすればいいですか?私はjquery v1.11.1を使用しています
あなたは適切なやり方をしています、問題はあなたが何らかの関数などでアクセスすると、変数myData'にアクセスしようとしている前に 'done'コールバックの中で呼び出すことです。情報のおかげで@pwolaq – pwolaq
ありがとう。それがどのように行われているかを私が見ている場所に向けることができる例はありますか?私はjqueryの新機能で、そのような関数をどこに配置し呼び出すかを理解しようとしています。 – Andy