Javascript 浏览器下载JSON结果,而不是传回脚本

Javascript 浏览器下载JSON结果,而不是传回脚本,javascript,asp.net-mvc-3,file-upload,Javascript,Asp.net Mvc 3,File Upload,我已经编写了一个MVC3应用程序,我在其中使用。当用户上传文件时,服务器会传回一个指示成功/失败的JSON对象,并可能返回一条错误消息。一些用户报告说,他们的浏览器要求他们执行类似于下载文件(保存/打开)的操作,而不是将JSON传递给javascript 我使用的是分布式上传程序,我的C#控制器返回一个JSONResult,如下所示 return JSON(new { success = true }, "application/json"); 或者如果出了问题 return JSON(new

我已经编写了一个MVC3应用程序,我在其中使用。当用户上传文件时,服务器会传回一个指示成功/失败的JSON对象,并可能返回一条错误消息。一些用户报告说,他们的浏览器要求他们执行类似于下载文件(保存/打开)的操作,而不是将JSON传递给javascript

我使用的是分布式上传程序,我的C#控制器返回一个JSONResult,如下所示

return JSON(new { success = true }, "application/json");
或者如果出了问题

return JSON(new { success = false, error = exception.Message });
我无法复制这一点,并从IE9和Chrome的用户那里得到了报告。有人发生过这种情况吗?你是怎么解决的?或者从哪里开始故障排除

编辑: 文件上载程序将在
onComplete
事件上运行此操作:

function(id, filename, responseJson) {
  if(responseJson.success != true) {
    alert("An error occurred: " + responseJson.error);
    return false;
  }
  return true;
}
试试这个:

return Json(new { success = true }, JsonRequestBehavior.AllowGet);
试试这个:

return Json(new { success = true }, JsonRequestBehavior.AllowGet);

问题是IE不能处理
应用程序/json
内容类型。将其设置为
text/html
可以使其工作,尽管这非常糟糕。

结果表明,问题在于IE无法处理
应用程序/json
内容类型。将其设置为
text/html
可以使其正常工作,尽管这非常糟糕。

能否显示javascript json解析代码?能否显示javascript json解析代码?这并不能解决问题。实际上,请求根本不是使用GET发出的,而是使用POST发出的。如果AllowGet丢失,控制器就会抛出一个错误。在这种情况下,一些浏览器将返回的JSON视为下载文件,这不是我想要的。这并不能解决问题。实际上,请求根本不是使用GET发出的,而是使用POST发出的。如果AllowGet丢失,控制器就会抛出一个错误。在本例中,一些浏览器将返回的JSON视为下载文件,这不是我想要的。