在 Ajax 调用中设置自定义内容类型响应标头

Setting a custom Content-Type response header in Ajax call?

本文关键字:类型 响应 自定义 Ajax 调用 设置      更新时间:2023-09-26

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

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

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

这样我的回答就可以正确解码。我在堆栈溢出的另一个答案中读到浏览器不关心内容类型标头。它只在应用程序级别很重要,以便应用程序可以正确检测和解码响应。

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

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

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

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

这基本上将完成我试图实现的目标,即为内容类型响应标头设置自定义值