JS请求服务器gbk文件乱码问题

JS获取服务器编码格式为gb2312的文件时内容为乱码,ajax网络请求内部使用的是XMLHttpRequest,所以在请求之前需要设置一下编码格式,但是设置xhr.setRequestHeader("accept", "text/csv;charset=gb2312,*/*");没有效果,只有设置xhr.overrideMimeType("text/csv;charset=gb2312");才正确,代码如下:

$.ajax({
        type: "get",
        url:"http://7xnhdv.com1.z0.glb.clouddn.com/test1.csv",
        beforeSend: function(xhr) {   //beforeSend定义全局变量
         //   xhr.setRequestHeader("accept", "text/csv;charset=gb2312,*/*");
            xhr.overrideMimeType("text/csv;charset=gb2312");
        },
        success: function(xmlDoc, textStatus, xhr) 
        {
            if(xhr.status == 200)
            {
            	$('#view0').text(xmlDoc);
            }
        }
    }
    );
overrideMimeType作用将覆盖发送给服务器的头部,强制text/csv;charset=gb2312作为 mime-type。

XMLHttpRequest的说明文档



你可能感兴趣的:(XMLhttpREquest,ajax获取乱码)