我试图将ajax调用中返回的值推送到调用之外的数组,但仍在父函数内部。似乎我无法访问任何变量并从ajax成功语句中更新它。在此先感谢您的帮助。
var bill = [];
var billDate = [];
$(document).ready(function(){
$.ajax({
url: '../Js/readData.php',
data: "",
dataType: 'json',
success: function(data)
{
//var obj=JSON.parse(data);
var obj=data;
for (var x in obj)
{
bill.push(obj[x].Amount);
billDate.push(obj[x].Dates);
}
}
});
答案 0 :(得分:1)
ajax调用是asynchronous
因此,对于成功函数之外的可用性,变量不会立即更新。在从服务器加载数据所涉及的时间之后调用它。
您可能希望将匿名成功函数移动到外部函数,并在那里进行任何处理。
$(document).ready(function(){
$.ajax({
url: '../Js/readData.php',
data: "",
dataType: 'json',
success: mySuccessFunction
});
var mySuccessFunction = function(obj) {
for (var x in obj)
{
bill.push(obj[x].Amount);
billDate.push(obj[x].Dates);
}
}