以下代码:
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
有一个json字符串,我也无法弄清楚我要求results
和result
都返回null的错误。我对这里的变量不了解。
答案 0 :(得分:0)
我不尊重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
}