XMLHttpRequest中文乱码

当服务器未指定Content-Type且返回数据非有效XML时,可能导致乱码。通过使用xhr.overrideMimeType(text/html;charset=gbk)可以设定接收数据的MIME类型和编码,从而避免乱码错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题代码:

 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");
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值