Tôi có jQuery sau:jQuery AJAX trả về 200 trạng thái OK, nhưng lỗi. Làm thế nào tôi có thể xem chi tiết lỗi?
var fn = {
Load: function() {
$(".myclass input.Submit").click(function (e) {
var _IsValid = fn.IsValid();
if (_IsValid == false) {
e.preventDefault();
}
//Popup displays message fine if "return false;" is
//called here but then obviously never posts back.
});
}
, IsValid: function() {
var _IsValid = true;
$.ajax({
url: "/myURL"
, type: 'POST'
, contentType: 'application/json; charset=utf-8'
, data: JSON.stringify({ Barcode: $barcode.val(), Email: $email.val() })
, dataType: 'json'
, success: function (data) {
var array = eval(data);
if (array[0] == 0) {
_IsValid = false;
ShowPopup(array[1]);
}
}
, error: function (xhr, status, error) {
}
});
return _IsValid;
}
}
phản ứng AJAX là 200 OK
, nhưng success
hàm được không phải là ran. Thay vào đó có vẻ như nó đang chạy hàm error
.
Tập lệnh đang được chạy dưới dạng trình xử lý sự kiện nhấp chuột cho ASP.NET ImageButton. Nếu _IsValid==false
, thì e.preventDefault()
được gọi để ngăn việc đăng lại.
Điều kỳ lạ là nếu tôi thêm trả về false vào cuối chức năng nghe sự kiện của tôi, mã này chạy hàm success
.
Làm cách nào để tìm hiểu nguyên nhân gây ra lỗi này để tôi có thể giải quyết vấn đề này?
Cảm ơn câu trả lời của bạn. Tôi đã thực hiện các thay đổi bạn đã đề xuất và lỗi của nó vẫn bị lỗi. Hơn nữa, tôi đã thử gỡ lỗi javascript trong Google Chrome. 'xhr.ResponseText =" "'. Bạn có bất cứ lời đề nghị khác? – Curt
Đề xuất của tôi là xem tab Mạng nơi bạn thấy các yêu cầu và phản hồi AJAX. Nhưng trong trường hợp này nếu máy chủ gửi một phản hồi trống và bạn đặt rõ ràng 'dataType: 'json'', thì, bạn biết đấy,'' ''là một JSON không hợp lệ. Vì vậy, bạn có thể cố gắng sửa chữa máy chủ của mình để gửi JSON hợp lệ. –
Tôi cũng đã cập nhật câu hỏi của mình với một chút thông tin về máy chủ ứng dụng – Curt