您的位置:首页 > Web前端 > JQuery

jquery ajax返回html乱码解决

2014-04-03 16:15 232 查看
情景:

index.html使用如下代码访问另外一个html片段

注意:被访问的html为片段文件,里面只有一些数据代码没有头部没有设置编码

使用ajax在发出请求后,xmlhttp组件在解析返回数据的编码时,是根据http响应的头部中是否有页面内容编码声明决定的.

如果返回的http头部中包含charset的内容编码声明,则按指定的编码读responseBody,转换后存在responseText中.
如果返回的http头部中没有包含charset的内容编码声明,则默认其编码为utf-8,
所以,如果是gb2312的html页面,在用ajax请求后,读出来肯定是乱的.
原因是因为html页面服务端在输出的时候,是不包含charset内容编码声明的,所以ajax就会按utf-8
来解码,不乱才怪.

解决办法:在被访问的html片段页面头部放入如下声明:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: