首先让我澄清一下,我无法访问我正在向其发出ajax请求的服务器。所以我无法更改服务器上的响应标头。
其次,我希望响应包含一个额外的标题:
"Content-Type" : "text/plain; charset=ISO-8859-1"
这样我的回答就可以正确解码。我在Stack Overflow上读到另一个答案,浏览器不关心Content-Type标头。它只适用于应用程序级别,以便应用程序可以正确检测和解码响应。
所以我想知道在Javascript解析响应之前应该有一种方法来设置这个响应头。我确定如果设置了此标头,则正确解析响应,否则会使某些字符出现乱码。
目前我正在使用vanilla Javascript(即XMLHttpRequest)进行此调用,因此如果有人可以告诉我如何使用仅使用vanilla Javascript来实现此功能,那将会很棒。虽然如果需要,我也可以切换到使用JQuery。
答案 0 :(得分:0)
在查看XMLHttpRequest的w3文档后,我想到了这一点。这是我最终使用的代码:
var http = new XMLHttpRequest()
http.overrideMimeType("text/plain; charset=ISO-8859-1")
这基本上可以实现我想要实现的目标,即为Content-Type响应头设置自定义值