如何为HTTP GET请求设置标头并触发文件下载?

布吉兹

更新20140702:

(但是我将其他答案之一标记为已接受,而不是我自己的答案,因为它使我半途而废,以奖励自己的努力)


似乎无法通过与链接设置HTTP请求标头<a href="...">,而只能使用来完成XMLHttpRequest

但是,链接到的URL是应下载的文件(浏览器不应导航至其URL),而且我不确定是否可以使用AJAX来完成。

此外,返回的文件是一个二进制文件,而AJAX并非为此目的。

如何使用添加了自定义标头的HTTP请求触发文件下载?

编辑:修复断开的链接

客人271314

尝试

html

<!-- placeholder , 
    `click` download , `.remove()` options ,
     at js callback , following js 
-->
<a>download</a>

js

        $(document).ready(function () {
            $.ajax({
                // `url` 
                url: '/echo/json/',
                type: "POST",
                dataType: 'json',
                // `file`, data-uri, base64
                data: {
                    json: JSON.stringify({
                        "file": "data:text/plain;base64,YWJj"
                    })
                },
                // `custom header`
                headers: {
                    "x-custom-header": 123
                },
                beforeSend: function (jqxhr) {
                    console.log(this.headers);
                    alert("custom headers" + JSON.stringify(this.headers));
                },
                success: function (data) {
                    // `file download`
                    $("a")
                        .attr({
                        "href": data.file,
                            "download": "file.txt"
                    })
                        .html($("a").attr("download"))
                        .get(0).click();
                    console.log(JSON.parse(JSON.stringify(data)));
                },
                error: function (jqxhr, textStatus, errorThrown) {
                  console.log(textStatus, errorThrown)
                }
            });
        });

jsfiddle http://jsfiddle.net/guest271314/SJYy3/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

您如何在React中触发文件下载?

来自分类Dev

如何为带有wreq的请求设置HTTP标头?

来自分类Dev

C#如何在单击按钮时触发文件下载?

来自分类Dev

如何为Ionic 2中的所有请求设置默认的Http标头?

来自分类Dev

如何为Ionic 2中的所有请求设置默认的Http标头?

来自分类Dev

如何为经过身份验证的 API GET 请求设置请求标头

来自分类Dev

GitHub:如何为ajax请求设置标头

来自分类Dev

如何为http请求实现“收货”

来自分类Dev

如何为特定请求禁用 HTTP 代理?

来自分类Dev

如何为资源生成“最后修改”的 http 标头?

来自分类Dev

如何为Django Rest HTTP请求设置超时

来自分类Dev

开发文件如何工作?

来自分类Dev

从JavaScript设置常规HTTP请求标头

来自分类Dev

在 Http 请求中设置标头

来自分类Dev

如何为ext5中的每个ajax请求设置公共请求标头?

来自分类Dev

如何为ext5中的每个ajax请求设置通用请求标头?

来自分类Dev

如何为不同的HTTP请求分配用户数?

来自分类Dev

如何为http请求编写单元测试?

来自分类Dev

如何为传出请求配置node-http-proxy?

来自分类Dev

如何为我的HTTP服务器指定请求超时?

来自分类Dev

如何为传出请求配置node-http-proxy?

来自分类Dev

如何为http.ListenAndServe设置访问/错误日志

来自分类Dev

如何为Dart HTTP服务器设置测试

来自分类Dev

如何为cron作业设置HTTP代理变量?

来自分类Dev

如何为apt-get配置HTTP代理?

来自分类Dev

如何为变量AngularJS分配$ http.get响应

来自分类Dev

如何为http get方法返回的变量赋值?

来自分类Dev

如何控制requirejs设置的请求标头?

来自分类Dev

创建HTTP GET标头请求

Related 相关文章

热门标签

归档