以下代码:
jQuery.extend({
getAnalytics: function() {
var result = null;
$.ajax({
type: 'POST',
dataType: 'json',
url: '/master/analytics/reports',
success: function(data) {
result = data;
console.log(result);
}
});
console.log(result);
return result;
}
});
var results = $.getAnalytics();
console.log(results);
在控制台中显示:
{20181002: 0, 20181003: 0, 20181004: "2", 20181005: "9", 20181006: 0, 20181007: 0, 20181008: "2", 20181009: "3", 20181010: "1"}
null
null
我无法弄清楚我在要求 result
和 results
都返回 null 时做错了什么,即使 result
在里面success 有一个 json 字符串。我不了解这里的变量。
最佳答案
我没有尊重 AJAX 调用的异步性质。它在名称中。
我通过执行以下操作修复了它。
success: function(data) {
result = data;
functionToPerform();
}
function functionToPerform() {
// code that depends on the data sent back from the Ajax request
// fire this only after a successful AJAX request
}
关于javascript - jQuery AJAX 不会将数据存储在变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52746373/