Hãy nói rằng tôi có những điều sau đây gọi jQuery AJAX:Làm thế nào để bạn xử lý lỗi từ các cuộc gọi AJAX?
$.ajax({
type: "POST",
url: "MyUrl",
data: "val1=test",
success: function(result){
// Do stuff
}
});
Bây giờ, khi cuộc gọi AJAX này được thực hiện tôi muốn mã server-side để chạy qua một vài kiểm tra xử lý lỗi (ví dụ như là người dùng vẫn đăng nhập , họ có được phép sử dụng cuộc gọi này không, là dữ liệu hợp lệ, v.v ...). Nếu phát hiện thấy lỗi, làm thế nào để tôi bong bóng thông báo lỗi đó trở lại phía máy khách?
Suy nghĩ ban đầu của tôi là trả về một đối tượng JSON có hai trường: error and errorMessage. Những trường này sau đó sẽ được kiểm tra trong cuộc gọi jQuery AJAX:
$.ajax({
type: "POST",
url: "MyUrl",
data: "val1=test",
success: function(result){
if (result.error == "true")
{
alert("An error occurred: " & result.errorMessage);
}
else
{
// Do stuff
}
}
});
Điều này có vẻ hơi khó khăn với tôi, nhưng nó hoạt động. Có một lựa chọn tốt hơn?
Tôi tin rằng cũng có một lỗi "lỗi". – BobbyShaftoe
Có, gọi lại "lỗi" hoạt động giống như cách gọi lại "thành công". Tuy nhiên, tôi đã không chắc chắn nếu trở về một lỗi HTTP là cách tiếp cận tốt nhất ở đây. –
Miễn là bạn chăm sóc lỗi ở phía máy chủ (đăng nhập, v.v.), không có vấn đề gì khi gửi nó cho máy khách, vì vậy nó cũng có thể xử lý được. – rodbv