Tôi đã cố gắng trả lại Json từ hành động của mình và sau đó IE đã cố gắng tải xuống và cho tôi thấy hộp thoại lưu. Tôi đã thử nghiệm nó trong Firefox, và ở đó nó hoạt động tốt.IE cố gắng tải xuống JSON trong ASP. NET MVC 3
return Json(new { success = false, message = ex.Message }, "application/json");
Lý do của hành vi đó là gì và làm cách nào để giải quyết vấn đề đó?
Sau đó trong Javascript phần tôi cố gắng này
if (responseJSON.success == false) {
alert(responseJSON.message);
cancel();
}
Nhưng IE không hiển thị cảnh báo nào. Nó mang lại cho tôi lưu hộp thoại.
Tôi đã cố gắng thay đổi "application/json"
với "text/plain"
và lưu hộp thoại biến mất, nhưng tôi chưa thể thấy cảnh báo. Tôi đang thiếu gì?
EDIT:
Đây là complect Javascript của tôi, tôi đang sử dụng Valums qquploader (ex-Ajaxupload) để tải lên hình ảnh
var uploader = new qq.FileUploader({
element: document.getElementById("image-upload"),
action: '/Home/ImageUpload',
allowedExtensions: ['jpg', 'png', 'gif'],
sizeLimlit: 2048,onComplete: function (id, fileName, responseJSON) {
if (responseJSON.success == false) {
alert(responseJSON.message);
cancel();
}
else {
alert("success");
//some code here
}
}
});
tôi đã thử nghiệm với alert("success");
phần khác của tôi và chuyển tiếp json là "text/plain"
và sau đó tôi thấy cảnh báo. Nhưng trong thời gian đó responseJSON.success != false
cho tôi. Bạn có đề xuất gì về điều đó không?
Bạn gọi hành động của mình như thế nào? Bạn có thể cho chúng tôi thấy javascript phía khách hàng không? –
Bất kỳ tiện ích bổ sung hoặc cài đặt cục bộ nào của IE? Kiểm tra các loại MIME đã đăng ký của bạn. – asawyer
Kiểm tra chỉnh sửa của tôi Tôi đã viết một phần của Javascript. @ John Gibb, tôi nghĩ việc tôi gọi hành động của mình là không quan trọng. –