1

我编写了一个使用Valums fileuploader的 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;
}
4

2 回答 2

1

试试这个:

return Json(new { success = true }, JsonRequestBehavior.AllowGet);
于 2012-05-17T06:28:22.727 回答
0

原来问题是 IE 不处理application/json内容类型。将其设置为text/html使其工作,尽管它非常糟糕。

于 2012-06-03T20:16:45.387 回答