thể trùng lặp:
How can I get jQuery to perform a synchronous, rather than asynchronous, AJAX request?
how to wait for an ajax call to returncách chính xác để chờ ajax trở lại (tôi không muốn sử dụng bộ xử lý thành công.)
Nghe tôi ra ngoài. Tôi hoàn toàn hiểu đoạn mã này.
$.getJSON(someURL, function(data){
//do something with my data
})
.success(function() {
//Call what you want on success
})
Điều này có vẻ tốt nếu tôi chỉ cần thực hiện một hành động khá tĩnh. Tuy nhiên, những gì nếu tôi muốn trở thành ít bị hạn chế, ví dụ này
function my_func(){
$.getJSON(someURL, function(data){
//do something with my data... like modify an array or the dom
})
}
Bây giờ tài xế
my_func();
//Now I want to call a function that relies on the data that my_func brought into the script.
Có điều gì sai trái với cách tôi đang viết mã kịch bản của tôi nếu tôi muốn làm điều đó như thế này? Hoặc tôi chỉ thiếu một số phương pháp được xây dựng tuyệt vời?
Nhưng đó là những gì gọi lại thành công là ... bất kỳ lý do cụ thể nào tại sao nó sẽ không hoạt động cho bạn? Bạn cần ít bị hạn chế hơn theo cách nào? –
sử dụng cờ 'async: false'. – kirilloid
"Hay tôi chỉ thiếu một số phương pháp được xây dựng tuyệt vời?" Yup: http://api.jquery.com/jQuery.ajax/ với 'async: false' – PeeHaa