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。