Possible solutionJavaScript: chức năng không hoạt động mà không cần cảnh báo()
Xin chào, đồng nghiệp!
Tôi viết thư cho bạn để yêu cầu trợ giúp về một vấn đề mà tôi gặp phải gần đây. Vấn đề chính là như sau:
1) Tôi có yêu cầu ajax, được triển khai với jQuery.
2) Sau khi trả lời thành công, tập lệnh sẽ tải lại trang với các thay đổi tương ứng và nếu có bất kỳ lỗi xác thực nào, hãy chèn chúng sau trường ẩn, được sử dụng để lưu trữ dữ liệu không quan trọng. Nếu có bất kỳ lỗi xác thực nào, các thay đổi sẽ không được lưu và trang sẽ được tải lại với các thông báo lỗi xác thực. Việc xác nhận chính nó được thực hiện bởi một servlet.
3) Tôi nhận thấy mọi thứ hoạt động tốt, khi bất kỳ loại cảnh báo nào() được trình bày trước khi thực sự thêm thông báo lỗi, nhưng tôi không muốn có cảnh báo như vậy.
Đây là đoạn mã JavaScript:
$('#randomFormElement').submit(function() {
$(this).ajaxSubmit({
success: function (data, status) {
randomFunctionToReloadThePage(arg1, arg2, arg3);
var errors = $(data).find('.classNameOfTheErrors').xml();
//alert(something);
$(errors).insertAfter('#idOfTheHiddenField');
},
error: function (jqXHR, textStatus, thrownError) {
//Error handling if the ajax response fails.
}
});
});
Vì vậy, câu hỏi chính là: thỏa thuận với alert() làm cho nó hoạt động là gì?
==========================
Trên Chrome, nó cũng không hoạt động.
Trên FF, nó chỉ hoạt động khi một số cảnh báo() hiện diện.
Cảm ơn trước!
'randomFunctionToReloadThePage' làm gì? Nếu bất kỳ phần nào của nó là không đồng bộ, sự chậm trễ do cảnh báo giới thiệu có thể tạo ra sự khác biệt. – Thilo
Cũng giống như một lưu ý phụ. Nếu bạn tải lại trang của mình sau yêu cầu ajax? Tại sao sau đó bạn thực hiện một yêu cầu ajax ở nơi đầu tiên. Tại sao không gửi toàn bộ trang và sau đó bạn không phải tải lại nó. – roel
trang của bạn có được làm mới trước khi cuộc gọi ajax hoàn tất không? bạn đang cố gửi biểu mẫu bằng ajax? –