关于ajax异步获取服务器信息乱码情况
2016-08-12 16:59
239 查看
1、当客户端页面编码必须为gb2312时,ajax获取的信息显示为乱码
有时候有些项目需要include新闻发布系统某站点数据时,新闻发布系统该站点配置为gb2312编码的站点,此时,页面设置的编码必须为gb2312。但ajax异步获取的utf-8信息需要写入页面,与页面编码不一致,显示为乱码。(比如xy2某项目,同时需要include新闻数据,与接口返回的直播信息)/p>
解决方法:添加ajax参数:scriptCharset:’utf-8’,使返回值以scriptCharset指定编码显示而不是默认以页面编码显示
js代码
2、当异步请求的服务器页面的编码为 gb2312 时,ajax获取的信息为乱码
当异步请求的服务器页面的编码为 gb2312 时,此时不能使用ajax方法获取信息,因为ajax内部是使用unicode 按照utf8编码来处理所有字符的。所以返回的信息就乱码了
解决方法:使用隐藏的iframe加载页面,然后再获取目标数据到相应位置。
html代码
js代码
有时候有些项目需要include新闻发布系统某站点数据时,新闻发布系统该站点配置为gb2312编码的站点,此时,页面设置的编码必须为gb2312。但ajax异步获取的utf-8信息需要写入页面,与页面编码不一致,显示为乱码。(比如xy2某项目,同时需要include新闻数据,与接口返回的直播信息)/p>
解决方法:添加ajax参数:scriptCharset:’utf-8’,使返回值以scriptCharset指定编码显示而不是默认以页面编码显示
js代码
$.ajax({ url : 'testUr'l, data : {}, dataType : 'jsonp', scriptCharset : 'utf-8' , success : function(){ } });
2、当异步请求的服务器页面的编码为 gb2312 时,ajax获取的信息为乱码
当异步请求的服务器页面的编码为 gb2312 时,此时不能使用ajax方法获取信息,因为ajax内部是使用unicode 按照utf8编码来处理所有字符的。所以返回的信息就乱码了
解决方法:使用隐藏的iframe加载页面,然后再获取目标数据到相应位置。
html代码
<div class="main"> <div class="com-con"></div> </div> <iframe src="" id="iframe" style="display:none"></iframe>
js代码
var PAGE =(function(){ $iframe = $('#iframe'), fn = { init : function(){ /*初始*/ $iframe.attr('src',url); $iframe.load(function(){ var $data; try{ $data = $iframe.contents(); }catch(e){ return; } $('.main .com-con').append($data.find('.com-con').html()); }); }, getMore : function(url){ /*加载更多*/ $iframe.attr('src',url); $data = $iframe.contents(); $('.main .com-con').append($data.find('.com-con').html()); } }, init = function() { fn.init(); /*点击获取更多*/ $(".more-btn").bind("click",function(){ /*..此处省略..*/ fn.getMore(url); }); }; return{ fn: fn, init: init } })(); nie.define(function(){ PAGE.init(); });
相关文章推荐
- 关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法
- 关于获取服务器基本信息SQL
- Ajax获取服务器上的HTML文件出现中文乱码的解决方法
- 没有Form的情况下,关于AJax异步上传文件处理
- 我的一个关于获取服务器信息的类
- 有关于在myeclipse中java向服务器发送请求返回数据有中文乱码的一种情况及解决
- Ajax获取服务器数据乱码
- ASP.NET 在站点初始化时(Application_Start)中获取关于服务器的信息
- ajax异步从前台传值给后天中文乱码的几种情况及解决办法
- 关于客户端与服务器ajax使用json数据交互,出现中文乱码或因包含html标答而报错的问题(base64加密)
- Ajax获取服务器信息
- Ajax通过XML异步提交的方法实现从数据库获取省份和城市信息实现二级联动(xml方法)
- ajax实现异步请求,不跳转页面的情况下,达到检验用户名等信息是否效果的功能!
- vs2005 ajax发布网站,中文获取值为乱码,并且IIS中运行ASPX时服务器应用程序不可用-解决
- jquery的$('#theForm').serialize()获取表单数据,ajax传递到服务器中文乱码。
- Ajax异步获取前台信息
- 关于Microsoft.XMLHTTP或Ajax中异步获取数据的问题
- 关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法
- 关于UTF-8的客户端用AJAX方式获取GB2312的服务器端乱码问题的解决办法
- 关于Ajax连续异步调用失败的疑惑