【发布时间】:2021-01-01 13:03:46
【问题描述】:
我正在尝试从 AJAX 成功调用中获取数据,以便在代码的其他地方使用。但是,由于某种原因,最后一行中的 console.log 返回“未定义”。我也在数据上试过JSON.parse()和JSON.stringify(),都返回了错误。
function loadInfo() {
jQuery(function($) {
$.ajax({
type: "POST",
url: "/admin.php",
data: {loadInfo: 1},
dataType: "json",
success: function(data) {
getResponse(data);
}
})
});
}
var data;
function getResponse(response) {
data = response;
}
console.log(data);
但是,如果我在函数中执行了 console.log...
var data;
function getResponse(response) {
data = response;
console.log(data);
}
它按预期输出数据。我认为数据变量将是全局的。还是别的什么?
【问题讨论】:
-
var data;使其未定义。在进行 AJAX 调用之前,它是未定义的。如果日志在函数之外,那么它会在 AJAX 之前运行。
标签: javascript jquery json ajax