Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
13.8k views
in Technique[技术] by (71.8m points)

internet explorer - Json response download in IE(7~10)

I am trying to upload a file and return a json response regarding properties(name, size etc) of the file. It works fine in all browsers except IE.

IE tries to download the JSON as a file !

I have IE10 and testing it on IE7 to 10 by changing browser mode and document mode from the debugger.

I am using asp.net mvc4, the file upload action have HttpPost attribute and i am returning json response using return Json(myObject);

And here are my http headers

Request

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

Response

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

I tried a few suggestions but so far back to square one !

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

You will need to return the json as text/html since IE does not know what to do with application/json contents..

return Json(myObject, "text/html");

Not sure but it might work (and it would be more correct if it does) to use text/x-json

return Json(myObject, "text/x-json");

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...