问题代码:
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://192.168.0.97:8000/e3f4780c075.py", true);
xhr.overrideMimeType("text/html;charset=gbk");
xhr.onreadystatechange = function () {
var XMLHttpReq = xhr;
if (XMLHttpReq.readyState == 4) {
if (XMLHttpReq.status == 200) {
var data = XMLHttpReq.responseText;
console.log(data);
alert(data)
}
}
};
xhr.send();
- 乱码原因:
如果服务器没有指定一个Content-Type 头,XMLHttpRequest 默认 MIME 类型为"text/xml". 如果接受的数据不是有效的 XML,将会出现格”格式不正确“的错误。你能够通过调用 overrideMimeType() 指定各种类型来避免这种情况。 - 解决方法
xhr.overrideMimeType("text/html;charset=gbk");
当服务器未指定Content-Type且返回数据非有效XML时,可能导致乱码。通过使用xhr.overrideMimeType(text/html;charset=gbk)可以设定接收数据的MIME类型和编码,从而避免乱码错误。

2289

被折叠的 条评论
为什么被折叠?



