Có cách nào xử lý lỗi từ yêu cầu ajax trong JQuery sao cho khi người dùng điều hướng khỏi trang, lỗi kết quả bị bỏ qua không?Cách xử lý lỗi bài đăng jQuery ajax khi điều hướng khỏi trang
$(document).ready(function() {
$.ajax({
url:'/server/url/',
type: 'POST',
data: {some..data},
success:function(response) { do stuff with response },
error: function(xhr, textStatus, errorThrown) {
// Don't raise this alert if user has navigated away from the page
alert('error');
}
});
Tôi tò mò nếu có ai biết cách sạch sẽ để xử lý việc này? Tôi biết bạn có thể tạo ra một số logic trong một phương pháp $(window).bind("beforeunload", function(){})
nhưng tôi muốn nếu có một cách để xử lý tình hình mà không làm điều này kể từ khi Chrome dường như không còn hỗ trợ nó. Có ví dụ như một lỗi cụ thể được trả lại trong trường hợp này?
Cảm ơn.
Vì cuộc gọi đến máy chủ, tôi không nghĩ rằng nó sẽ có đủ kiến thức để trả về một phản hồi khác nhau tùy thuộc vào việc người dùng có điều hướng khỏi trang đó hay không. Có nơi nào bạn có thể cung cấp một ví dụ về hành vi này không? Có vẻ kỳ quặc rằng một tập lệnh từ một trang khác sẽ tiếp tục chạy sau khi bạn đã điều hướng khỏi trang đó. –
Tôi * nghĩ * tập lệnh thực sự ngừng chạy và lỗi được ném vì nó bị chấm dứt sớm. –
Khi bạn điều hướng đi, cuộc gọi AJAX của bạn sẽ hoạt động trong nhóm bit. Không còn người nghe trên máy khách nhận bất kỳ tin nhắn nào từ yêu cầu đó nữa. –