在尝试通过ajax获取别的网站的数据进行分析时,发现如果有中文,则会出问题。分析发现,AJAX在接收responseText或responseXML的值的时候是按照UTF-8的格式来解码的,如果服务器段发送的数据不是UTF-8的格式,那么接收responseText或responseXML的值有可能为乱码。
FireFox 的XMLHttpRequest对象支持overrideMimeType方法,可以指定返回数据的编码类型,利用该方法可以解决中文乱码。
而IE要进行二进制的转码工作,要用xmlhttp.responseBody,因为Body返回的是二进制数据。相关代码参见[1]。
参考