Tôi đã chức năng JS sau kích hoạt bởi một nút:JavaScript: ajaxSubmit lỗi
function uploadPicture() {
$("form#pictureUpload").ajaxSubmit({
data: $("form#pictureform").serialize(),
type: 'post',
url: '?action=loadpicture',
success: function(response) {
$('#div-pictures').html(response);
}
});
}
này làm việc hoàn toàn tốt đẹp trong vài tháng. Nhưng nó đã ngừng hoạt động ngày hôm nay trong Firefox, Safari, Chrome và Opera - mặc dù nó vẫn hoạt động chính xác trong Internet Explorer.
Safari mang lại cho tôi những lỗi bí ẩn sau:
Failed to load resource: cancelled ?action=loadpicture
Chrome kết quả đầu ra gần như giống nhau (không có : cancelled
). Opera và Firefox không có lỗi gì cả. Thông tin bổ sung duy nhất là các lỗi ở trên xảy ra sau khi quá trình tải tệp lên hoàn tất và mặc dù máy chủ tạo ra đầu ra HTML làm phản hồi bị trình duyệt bỏ qua.
Vui lòng cho tôi biết nếu bạn có bất kỳ ý tưởng nào về cách khắc phục sự cố này. Tôi đã chạy trong vòng tròn trong nhiều giờ mà thậm chí không đến gần với một giải pháp - Tôi chỉ đơn giản là không thấy lỗi trong mã cũng như trong các tệp nhật ký. Cảm ơn nhiều!
Tôi không biết câu trả lời, nhưng một vài ý tưởng cần điều tra: -Tôi không nghĩ rằng nó chỉ định đúng? Parm = value khi thực hiện yêu cầu POST. Thông thường, khi bạn thực hiện yêu cầu GET, tất cả các thông số bạn cung cấp sẽ được nối vào URL theo cách này; khi bạn POST, các giá trị được gửi như dữ liệu biểu mẫu. Thử sử dụng đầu vào bị ẩn. Tôi có thể nhầm lẫn về điều này, có lẽ nó được cho phép mặc dù nó không sử dụng bình thường. -Có vẻ như bạn đang đăng lại cùng một trang nơi mã này được xác định, không chắc chắn liệu hành vi đó có đúng không? -Bạn có đang sử dụng phiên bản jQuery khác với trước đây không? – RMorrisey
Không có phiên bản jQuery nào giống nhau. Sự khác biệt duy nhất mà tôi biết là bản cập nhật nhỏ của Apache và mod-php. – MrG
Có phải '? Action = loadpicture' hoạt động như trước đây không? Bạn đã thử gọi url này một cách đồng bộ chưa? – dmitko