Tôi tương đối mới với JavaScript và tôi nghĩ mình đã biết cách hoạt động của hàm gọi lại nhưng sau một vài giờ tìm kiếm trên web tôi vẫn không hiểu tại sao mã của tôi không hoạt động.Đặt biến cục bộ trong hàm gọi lại JavaScript
Tôi đang thực hiện yêu cầu AJAX trả về một mảng chuỗi. Tôi đang cố gắng để thiết lập mảng này đến một biến địa phương, nhưng nó dường như mất giá trị của nó ngay sau khi chức năng gọi lại được thực thi.
var array;
$.ajax({
type: 'GET',
url: 'include/load_array.php',
dataType: 'json',
success: function(data){
array = data;
},
error: function(jqXHR, textStatus, errorThrown){
alert("Error loading the data");
}
});
console.debug(array);
Trong bảng điều khiển, array
xuất hiện dưới dạng không xác định. Bất cứ ai có thể giải thích cho tôi lý do tại sao điều này không được thiết lập và làm thế nào nó có thể thiết lập một biến địa phương trong một chức năng gọi lại.
Tôi nghĩ bạn đang bối rối bởi định dạng của mã. 'Console.debug' là trực tiếp sau' ajax'. –
Tôi tin rằng phạm vi là chính xác, nó chỉ là định dạng được tắt cho hai dòng đầu tiên không trống (họ nên được chuyển sang trái 1). – GoldenNewby
@JamesMontagne bạn chính xác là đúng. Các định dạng thực sự đã ném tôi đi. Đã cập nhật câu trả lời. – JaredPar