【问题标题】:Setting a custom Content-Type response header in Ajax call?在 Ajax 调用中设置自定义 Content-Type 响应标头?
【发布时间】:2015-03-12 07:32:36
【问题描述】:

首先让我澄清一下,我无法访问我正在向其发出 ajax 请求的服务器。所以我无法更改服务器上的响应头。

其次,我希望响应包含一个额外的标头:

"Content-Type" : "text/plain; charset=ISO-8859-1"

这样我的回复才能被正确解码。我在 Stack Overflow 上的另一个答案中读到浏览器不关心 Content-Type 标头。它只在应用程序级别很重要,这样应用程序才能正确检测和解码响应。

所以我想知道应该有一种方法可以在 Javascript 解析响应之前设置此响应标头。我确定如果设置了此标头,则响应将被正确解析,否则会导致某些字符乱码。

目前我正在使用 vanilla Javascript(即 XMLHttpRequest)进行此调用,所以如果有人能告诉我如何仅使用 vanilla Javascript 来实现这一点,那就太好了。虽然如果需要我也可以切换到使用 JQuery。

【问题讨论】:

    标签: javascript jquery ajax content-type


    【解决方案1】:

    我在查看 XMLHttpRequest 的 w3 文档后发现了这一点。这是我最终使用的代码:

    var http =  new XMLHttpRequest()
    http.overrideMimeType("text/plain; charset=ISO-8859-1")
    

    这将基本上完成我想要实现的目标,即为 Content-Type 响应标头设置自定义值

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-02-09
      • 2013-07-22
      • 1970-01-01
      • 2013-12-10
      • 2015-05-05
      相关资源
      最近更新 更多