我正在尝试上传文件并返回有关文件属性(名称,大小等)的json响应。它在除IE之外的所有浏览器中都能正常工作。
IE尝试将JSON下载为文件!
我有IE10,并通过从调试器更改浏览器模式和文档模式,在IE7到10上对其进行了测试。
我正在使用asp.net mvc4,文件上传操作具有HttpPost属性,并且我使用 return Json(myObject) 返回json响应 ;
这是我的HTTP标头
请求
Key Value Request POST /File/UploadFile/ HTTP/1.1 Accept text/html, application/xhtml+xml, */* Referer http://localhost:63903/ Accept-Language en-NZ User-Agent Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0) Content-Type multipart/form-data; boundary=---------------------------7dc1e71330526 Accept-Encoding gzip, deflate Host localhost:63903 Content-Length 1377002 DNT 1 Connection Keep-Alive Cache-Control no-cache
响应
Key Value Response HTTP/1.1 200 OK Server ASP.NET Development Server/11.0.0.0 Date Tue, 18 Dec 2012 23:44:19 GMT X-AspNet-Version 4.0.30319 X-AspNetMvc-Version 4.0 Cache-Control private Content-Type application/json; charset=utf-8 Content-Length 154 Connection Close
我尝试了一些建议,但到目前为止已经回到正题了!
text/html由于IE不知道如何处理application/json内容,因此您将需要返回json 。
text/html
application/json
return Json(myObject, "text/html");
不确定,但是使用它可能会起作用( 如果这样做会更正确 )text/x-json
text/x-json
return Json(myObject, "text/x-json");