json xhr 响应打开下载文件弹出窗口

发布于 2024-07-26 03:34:45 字数 133 浏览 5 评论 0原文

对于我们的一个 ajax 请求(带有 .json 响应),我们的一些客户抱怨他们看到“文件下载”提示,要求用户下载 .json 响应。 我很困惑,因为考虑到这是 xhr 响应,这种情况永远不应该发生。 有人见过这个吗?

谢谢

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 response. I am baffled because considering that this is an xhr response, this should never happen. Has anyone seen this?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

独守阴晴ぅ圆缺 2024-08-02 03:34:46

我正在使用QQ ajax文件上传器,我发现我需要将内容类型设置为“text/json”才能正常工作。

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.

故人爱我别走 2024-08-02 03:34:46

删除 .json 并将内容类型设置为 text/html。 IE 不知道您发送的文件类型,因此它会提供下载。 它知道如何处理 text/html :)

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 :)

栖迟 2024-08-02 03:34:45

对于使用 ASP MVC 并且在 IE 上遇到同样问题的人,在返回响应时使用此:

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

编辑:标准类型是:“application/json”,但不适用于 IE。 使用 text/html 是危险的。

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.

一生独一 2024-08-02 03:34:45

尝试在响应中指定“text/plain”的 MIME 类型。 或者只是从 URL 中删除“.json”扩展名(例如,尝试使用 .txt 或 .js)

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)

二手情话 2024-08-02 03:34:45

不确定您是否找到了解决方案,但我遇到了类似的问题,IE 尝试下载任何 JS 响应。 为了解决这个问题,我必须确保 format.html 出现在响应块中的 format.js 之上:

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

希望这会有所帮助。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文