javascript - Ajax/Javascript - 文件下载

标签 javascript ajax

  • 客户端(通过 XMLHttpRequest 请求)-> 服务器。
  • 服务器 [构建 CSV 并将其打印在响应的输出流中] -> 客户端。

  • 现在第 3 步应该是 -> 客户端的浏览器应该显示一个下载对话框(保存、打开和取消)。由于内容类型是来自服务器的纯文本,并且没有设置内容处置,我们可以使用javascript创建文件并提示用户下载吗?

    我知道这个问题有点愚蠢。但没有其他选择。我必须这样做。

    更改服务器端脚本将使其成为一分钟的任务。但我必须在客户端这样做。 XMLHttpRequest 对象的 responseText 属性将是纯文本,我必须显示文本文件的下载提示。

    这可能吗?

    最佳答案

    不是我知道的。但是你可以使用 location.href (或表单,如果需要 POST 数据)来请求服务器端文件。使用正确的标题(Content-Disposition: attachment,我认为还有另一个),您可以下载响应而不是显示响应。

    编辑:更好的是,使用 iframe那是隐藏的。这样,您仍然可以在主页中执行花哨的“正在加载,请稍候”。

    关于javascript - Ajax/Javascript - 文件下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13301751/

    相关文章:

    javascript - 提交表单时,请勿自动滚动到顶部。保持当前位置

    javascript - "this"作为对象成员而不是事件处理程序上的节点引用?

    javascript - CSS属性不会使用jQuery更改

    php - Ajax:从数据库获取最后一行

    java - 在 Cucumber rails 应用程序中安装 Java 应用程序

    javascript - 不将图像缓存在 html5 中的最佳方法是什么?

    javascript - 强制浏览器仅刷新1个文件

    c# - 如何使用 header 请求将参数从 Ajax 传递到 C#?

    javascript - GET 使用 Postman,但不使用 Ajax?

    Javascript 数据和 html 传输