我声明一个数组,然后进行 ajax 调用,该调用返回多行值。我试图将这些行的 ID 添加到我之前声明的数组中,但它一直返回未定义。
var recipeIds = Array();
$.ajax({
url: url,
type: 'POST',
contentType: "application/json",
dataType: 'jsonp',
crossDomain: true,
jsonp: 'jsoncallback',
cache:true,
success: function(data, status){
$.each(data, function(i,item){
recipeIds.push(item.id);
});
},
error: function(){
console.log("Ajax not working - recipies in cat");
}
});
alert("array0 = " + recipeIds[0]);
有什么建议吗?
最佳答案
当您发出警报时,ajax 调用尚未返回。它是异步的,这意味着 ajax 调用将在警报之后发生。
您必须使用您提供给 ajax 函数的 success
回调中的结果。
关于javascript - 从 ajax 调用 javascript 添加到数组 - 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15391550/