【发布时间】:2017-04-11 14:00:23
【问题描述】:
我正在调用代码隐藏中的方法。获得数据后,我无法将数据复制到局部变量。
我创建了一个局部变量。我尝试在 2 个地方控制台记录 Ajax 调用的结果。一是在成功回调方法里面,二是在外面。
在success方法中,我得到类似[object, object, object]的东西。但是,在外面,我得到的只是一个空数组 []。
var rowArray=[];
$.ajax({
type: "POST",
url: "Default.aspx/GetData",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: '{ dataId: 1 }',
success: function (response) {
rowArray = JSON.parse(response.d);
//console.log(rowArray); --> this logs [object, object, object ]
},
failure: function (response) {
alert(response.d);
}
});
//console.log(rowArray); --> this logs []
我无法将响应复制到局部变量的任何原因?
感谢您的帮助
【问题讨论】:
-
请注意,
$.ajax是异步的,因此您的第二个控制台日志,在success函数之外记录变量的初始值,因为$.ajax调用尚未完成。