【问题标题】:Can I somehow add an 'Accepts' header in an HTTP browser download request我可以以某种方式在 HTTP 浏览器下载请求中添加“接受”标头吗
【发布时间】:2014-09-28 07:02:00
【问题描述】:

我有一个 JS 应用程序向服务器发出请求,该服务器可以根据 Accept 标头以 JSON 或 CSV 格式返回结果。我希望用户能够单击一个按钮并将 CSV 下载到用户的硬盘驱动器

有什么方法可以发出请求并设置Accept 标头吗?

我知道还有其他方法可以做到这一点(不同的资源、查询参数),我不知道我所描述的是可能的,但如果可以的话,最好“正确”地做到这一点。

【问题讨论】:

    标签: javascript http browser xmlhttprequest


    【解决方案1】:

    由于您已标记此xmlhttprequest,您可以使用setRequestHeader('header name', 'header value')MDN docs.

    【讨论】:

    • 推测性地标记为xmlhttprequest。使用它可以下载资源吗?
    • @Joe — 我见过使用 data: URI 的方法可以实现。虽然从 JS 指定接受标头,但没有其他方法可以从浏览器发出 HTTP 请求。
    • 澄清一下,当我说“下载”时,我的意思是“下载到硬盘”,而不仅仅是“提出请求”。 data: URI 假定我已经在浏览器中获取了数据。我认为不可能完全按照我的要求去做。看起来是对的?
    • @Joe — 当我指出 data: URI 解决方案时,这就是我对您的意思的理解。
    • 感谢您的帮助。 API 端点无论如何都需要存在。我会用一个查询字符串来伪造它。
    猜你喜欢
    • 2010-09-28
    • 1970-01-01
    • 2015-01-03
    • 1970-01-01
    • 2023-03-18
    • 2018-01-18
    • 2017-04-18
    • 2021-09-03
    相关资源
    最近更新 更多