Tôi đang cố gắng lấy kết quả của một yêu cầu ajax để đặt trong một biến mà tôi có thể truy cập bên ngoài yêu cầu đó. Tôi đã thử điều này JQuery - Storing ajax response into global variable nhưng biến của tôi beer
vẫn không xác định bên ngoài các chức năng $.getJSON
và $.ajax
(Tôi đã thử cả hai).Jquery - Lưu trữ phản hồi Ajax jSON dưới dạng biến
Đây là mã của tôi và nơi tôi có thể xem kết quả từ số 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
Vậy làm cách nào để tôi có thể truy cập bia sau này trong tập lệnh từ bên ngoài chức năng? – Sebastien
Bất kỳ điều gì phụ thuộc vào kết quả của yêu cầu JSON đó phải nằm trong hàm riêng biệt đó. – chprpipr
Và tại sao nó không hoạt động? \t \t \t \t bia = $ .ajax ({ \t \t \t \t \t url: jsonUrl, \t \t \t \t \t thành công: function (data) { \t \t \t \t \t \t dữ liệu trở lại; \t \t \t \t \t} \t \t \t}); – Sebastien