为什么警告说text[0]
是undefined
?
这是我的代码:
var text = new Array;
$.ajax({
url: 'engine1/api.php',
data: "",
dataType: 'json',
success: function(rows){
text = rows;
}
});
alert(text[0]);
答案 0 :(得分:1)
var text = new Array;
$.ajax({
url: 'engine1/api.php',
data: "",
dataType: 'json',
success: function(rows){
text = rows;
alert(text[0]); // will work, this gets executed after you set text
}
});
//alert(text[0]); << don't put this here, it will get executed right after you send the request
答案 1 :(得分:0)
最后回答了我自己的问题,对于遇到这个问题的人来说,这就是我所做的:
由于ajax是异步的,因此alert(text[0])
之前会执行text=rows
。
您可以将ajax设置为按程序运行:
$.ajax({
url: 'engine1/api.php',
data: "",
dataType: 'json',
async: false;
success: function(rows){...
以下这是您可以/应该将ajax设置为async:false
的少数情况之一(因为您正在向客户端提供javascript / jquery)。