在Ajax调用中设置自定义Content-Type响应头?

时间:2015-01-14 07:06:02

标签: javascript jquery ajax content-type

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

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

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

这样我的回答就可以正确解码。我在Stack Overflow上读到另一个答案,浏览器不关心Content-Type标头。它只适用于应用程序级别,以便应用程序可以正确检测和解码响应。

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

目前我正在使用vanilla Javascript(即XMLHttpRequest)进行此调用,因此如果有人可以告诉我如何使用仅使用vanilla Javascript来实现此功能,那将会很棒。虽然如果需要,我也可以切换到使用JQuery。

1 个答案:

答案 0 :(得分:0)

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

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

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