解析IE9中的JSON响应

时间:2013-02-25 12:12:54

标签: json asp.net-mvc-3 asp.net-mvc-4

在我的MVC4网络应用程序中,我使用FineUploader上传文件。

上传文件时,我会从控制器发送json响应,如下所示:

return this.Json(packageUploadResult, "text/plain", System.Text.Encoding.UTF8);

我不得不将“application / json”修改为“text / plain”,因为我在IE (info here)中获得了“另存为”“打开”选项。仅在IE中。它适用于所有其他浏览器。

查看:

...
        }).on('complete', function (event, id, filename, json) {
            if (json.success) {
                if (json.IsSignature) {
                    alert("IN");
                }
...

如何解析Json响应以使其在IE中运行:

样本回复:

{"PackageErrorType":0,"PackageId":"AGI-MM-CFG-NUB-2.0.1.2.2","SignatureMatch":false,"IsSignature":false,"success":true}

1 个答案:

答案 0 :(得分:0)

您可以使用$.parseJSON方法解析服务器返回的text / plain:

var json = $.parseJSON(textReturnedByServer);
if (json.success) {
    if (json.IsSignature) {
        alert("IN");
    }
}

当然,您应该仅针对不支持HTML5文件API的旧浏览器(例如Internet Explorer)执行此操作。