一尘不染

IE尝试在ASP中下载JSON。NET MVC 3

json

我试图从动作中返回Json,之后IE尝试下载它并显示保存对话框。我在Firefox中对其进行了测试,并且可以正常运行。

return Json(new { success = false, message = ex.Message }, "application/json");

这种行为的原因是什么,我该如何解决?

之后在Javascript部分中我尝试

 if (responseJSON.success == false) {
                        alert(responseJSON.message);
                        cancel();
                    }

但是IE仍然不会显示警报。它带给我保存对话框。

我尝试进行更改"application/json""text/plain"并且保存对话框消失了,但是还无法看到警报。我想念什么?

编辑:

这是我的全能Javascript,我使用Valums qquploader(ex-Ajaxupload)上传图片

 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
                        }
                     }
                   });

alert("success");在其他部分进行了测试,然后转发了json
"text/plain",之后我看到了警报。但是那段时间responseJSON.success != false对我来说。您对此有何建议?


阅读 187

收藏
2020-07-27

共1个答案

一尘不染

我已经用这个技巧解决了

return Json(new { success = false, message = ex.Message }, "text/html");

现在就可以了。但是我能解释一下为什么它适用于text / html,而不适用于application / json和text /
plain吗?首先是尝试下载JSON,其次是返回JSON字段的未定义属性。

2020-07-27