可能性の重複:
Can't access global variable in jQuery $.get within function
これはおそらく、初心者の問題ですが、ここではそれが行く:私は宣言プレビューと呼ばれるグローバル変数AJAXを使用して、json配列を取得してループします。繰り返しごとに、別のAJAX呼び出しを行って文字列を取得し、それをグローバル変数に追加します。
しかし、第2のAJAX呼び出しの後にグローバル変数を印刷することは私に「空の文字列」(私は間違いなく戻って二AJAX呼び出しから文字列を取得しています)を提供します。
var preview;
$("#some-button").click(function(e){
e.preventDefault();
var companies = "blahblahblah";
$.ajax({
url: "tracklink/getemails.php",
type: "POST",
data: "companies=" + companies,
dataType: "json",
success: function(databack) {
if (databack) {
for (i=0; i<databack.length; i=i+1) {
preview = "";
$("#selected-clip-list li").each(function(){
$.ajax({
url: "tracklink/cksum.php",
type: "POST",
data: "video_id=" + $(this).attr("clip_id") + "&addr=" + databack[i].email_address,
success: function (msg) {
if (msg) {
preview += msg;
}
//this works
//console.log(preview);
}
});
});
//doesn't work
console.log(preview);
}
}
}
});
});
私は "空の文字列" を取得していますなぜすべてのアイデア:
ここでは、コードですか?
多くのありがとうございます。
'$ .ajax()'に 'async:false'を設定すると、コールバック関数で変数にアクセスできるようになります。 – Quasdunk