我正试图获取ajax请求的结果并将其设置为可以在请求之外访问的变量。我尝试了JQuery - Storing ajax response into global variable,但我的变量 beer
在 $.getJSON
和 $.ajax
函数之外仍然未定义(我两者都尝试过)。
这是我的代码以及我能够从 console.log(beer)
中看到结果的位置。
var beer;
$.getJSON(jsonUrl, function (json) {
beer = json;
console.log(beer); // returns beer
});
console.log(beer); // returns undefined
var beer = (function () {
var result;
$.ajax({
url: jsonUrl,
success: function (data) {
result = data;
console.log(beer); // returns beer
}
});
console.log(result); // returns undefined
if (result) return result;
})();
console.log(beer); // returns undefined
beer = $.ajax({ url: jsonUrl, success: function(data) { return data; } });
- Sebastien