浏览器下载 JSON 结果,而不是传递回脚本
Browser downloads JSON result instead of passing back to script
我写了一个MVC3应用程序,其中我使用Valums文件上传器。当用户上传文件时,服务器会传回一个 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);
事实证明,问题是IE不处理application/json
内容类型。将其设置为 text/html
可以使其工作,尽管它非常糟糕。
相关文章:
- 加载客户端脚本后下载静态网页
- 我可以'如果我下载了在线脚本,就不要使用它们
- javascript<脚本>标记代码在src下载之前执行
- 如何使用量角器通过脚本处理Windows文件上传和下载
- 使用没有URL的python脚本从网页下载文件,调用onClick函数
- 脚本下载和执行的顺序与 document.write .
- 如何通过直接输入浏览器 url 栏来防止文本或脚本文件被查看/下载
- 正在运行的脚本标记是否会阻止其他脚本标记的下载
- 浏览器下载 JSON 结果,而不是传递回脚本
- 下载脚本和statcounter在不打开新页面的情况下协同工作
- PHP脚本从网站下载文本,转换并存储在本地
- 我如何获得下载<脚本>
- 脚本运行时,无法从FTP服务器自动下载文件
- Django,如何为网站上显示的脚本制作下载按钮
- 如何使用javascript(客户端脚本)下载或上传文件
- .htaccess拒绝从脚本下载文件
- requirejs根本不注入任何东西,尽管脚本是下载的
- 在用户脚本中使用XMLHttpRequest下载图像
- 仅在支持的浏览器中下载和执行脚本
- 通过脚本或其他方式下载文件