Tôi muốn sử dụng jQuery ajax để lấy dữ liệu từ máy chủ.
Tôi muốn đặt định nghĩa hàm gọi lại thành công bên ngoài .ajax()
khối như sau. Vậy tôi có cần khai báo biến dataFromServer
như sau để có thể sử dụng dữ liệu trả về từ lần gọi lại thành công không?
Tôi đã thấy hầu hết mọi người định nghĩa lệnh gọi lại thành công bên trong .ajax()
khối. Vì vậy, đoạn mã sau có đúng không nếu tôi muốn xác định lệnh gọi lại thành công bên ngoài?
var dataFromServer; //declare the variable first
function getData() {
$.ajax({
url : 'example.com',
type: 'GET',
success : handleData(dataFromServer)
})
}
function handleData(data) {
alert(data);
//do some stuff
}
deferred objects
thứ được giới thiệu khi nào vậy? Tôi chưa thấy nó bao giờ. Ngoài ra, nó có vẻ hơi lộn xộn, vì mã xác định lệnh gọi lại sẽ sử dụng nằm ở vị trí khác với lệnh gọi AJAX thực tế.