json xhr response opens a download file popup window

前端 未结 5 1710
孤街浪徒
孤街浪徒 2021-02-04 08:09

For one of our ajax request (with a .json response) some of our clients have complained that they are seeing a \"File Download\" prompt asking the user to download the .json res

相关标签:
5条回答
  • 2021-02-04 08:18

    I am using the QQ ajax file uploader and I found that I needed to set the content type to "text/json" for it to work properly.

    0 讨论(0)
  • 2021-02-04 08:21

    try specifying a MIME type of "text/plain" in the response. or just drop the ".json" extension from the url (try .txt, or .js, for instance)

    0 讨论(0)
  • 2021-02-04 08:31

    Drop the .json and set the content type as text/html. IE doesn't know what type of file you are sending it, so it offers to download. It knows what to do with text/html :)

    0 讨论(0)
  • 2021-02-04 08:36

    Not sure if you found a solution, but I had a similar problem where IE tried to download any JS responses. To fix it, I had to ensure that format.html appears above format.js in the response block:

    def index
    
      # ...
    
      respond_to do |format|
        # html must be above js, otherwise IE will try to download the JS
        format.html
        format.js
      end
    end
    

    Hope this helps.

    0 讨论(0)
  • 2021-02-04 08:39

    For people who are using ASP MVC and have the same problem with IE, use this when returning your response:

    return Json(result, "text/plain");
    

    Edit: the standard type is: "application/json", but does not work with IE. using text/html is dangerous.

    0 讨论(0)
提交回复
热议问题