`
buliedian
  • 浏览: 1197808 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Ajax post乱码问题解决方案

 
阅读更多

今天测试一个Ajax组件的时候遇到乱码问题,在网上找了很多解决方案都未能解决,原因可能我出现乱码的问题不在传输过程,而且是在页面上就已经出现乱码 了,现象很奇怪,我直接把参数赋值为中文后alert,发现是乱码,所以不管我怎么设置和在后台解码都依然是乱码。后来找到原因,共分两点:
第一:我的meta标签设置的是: <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
第二:我是把整个参数构造完后一起encodeURIComponent。
解决方案:
把meta标签改为:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
并且把参数构造的过程分别对key和value进行encodeURIComponent操作。
后台servlet解码:new String(param.getBytes("ISO-8859-1") , "UTF-8);
备注:
ajax设置为:
xhr.open("POST", url, this.async);
xhr.setRequestHeader("content-type", "text/plain");//后台解析必须的以流的形式解析
xhr.send(param);
其中param构造形式如下:
param = encodeURIComponent('key')+'='+encodeURIComponent('value')+'/n';
之前:
param = 'key'+'='+('value')+'/n';
param = encodeURIComponent(param);
这样处理出现乱码。

分享到:
评论

相关推荐

    ajax中文乱码如何解决

    今天终于解决了AJAX的中文乱码问题,写篇文章来帮助一下有同样问题的朋友们。我的开发环境:XP, eclipse,使用GB18030编码。 当遇到这个问题时,到网上去查了好多文章,提到几种解决方案,如:全站UTF-8编码;请求头...

    ajax提交,后台中文乱码解决

    解决ajax异步提交后台取值中文乱码问题,提供两种解决方法

    AJAX中文乱码问题探讨及解决

    AJAX中文问题分为两大类: 1)发送路径中的参数有中文,在服务器段接收参数值是乱码 例如: var url=”a.jsp?name=小李”; xmlHTTP.open (“post”,url,true); 解决办法: 利用javascript的提供的escape()或...

    AJAX在Post中文的时候乱码的解决方法

    AJAX在Post中文的时候乱码的解决方法

    JQuery中Ajax的Post提交在IE下中文乱码的解决方法

    引言: 在JQuery的Ajax POST请求中,进行请求,其中的中文在后台,显示为乱码,该如何解决呢? 问题的引入: 代码如下: var regid = $(‘#oregion’).combobox(‘getValue’); //var sname = $(‘#sname’).val(); ...

    ajax请求乱码的解决方法(中文乱码)

    今天遇到一个问题,有关ajax请求中传输中文,遇到乱码的问题。 如下代码: 代码如下:function UpdateFolderInfoByCustId(folderId, folderName, custId) { $.ajax({ type: “Post”, contentType: “application/...

    AJAX在Post中文的时候解决乱码的方法

    用AJAX来GET回一个页面时,RESPONSETEXT里面的中文多半会出现乱码,这是因为xmlhttp在处理返回的responseText的时候,是把resposeBody按UTF-8编码进解码考形成的,如果服务器送出的确实是UTF-8的数据流的时候汉字会...

    JQuery的Ajax中Post方法传递中文出现乱码的解决方法

    主要介绍了JQuery的Ajax中Post方法传递中文出现乱码的解决方法,较为深入的分析了Ajax的post方法出现乱码的原因,以及具体的解决方法,需要的朋友可以参考下

    ajax中使用javascript的send方法post参数

    ajax中使用javascript的send方法post参数。当用set方法是会出现中午乱码的问题,该文档说的post方法很好的解决了该问题,具体用法见文档

    AJAX中文乱码PHP中完美解决方法

    最近在做一个项目,遇到AJAX中文乱码问题,经过一个下午的努力终于完美解决,现将心得写下来,希望对那些还困绕在这个问题而头痛不已的人们有所帮助。 众所周知,使用AJAX传送和接收中文参数时,如果不在客户端和...

    js调用AJAX时Get和post的乱码解决方法

    在使用"get"时,抓取的页面最后加上编码类型,在使用post时用vbscript解决了编码问题,具体实现如下,有类似情况的朋友可以参考下哈

    php+Ajax(GET&POST)完美实例

    php+Ajax解决了post与get中文乱码的问题 后台页面可以结合mysql使用,以达到相应目的

    ajax+php中文乱码解决办法

    AJAX的乱码的出现在的原因 由于XMLHTTP采用的是Unicode编码上传数据,而一般页面采用的是gb2312,这就造成显示页面时产生乱码。而当在获取页面时的XMLHttp返回的是utf-8编码,这就造成了显示产生乱码。 解决方法之一...

    jquery ajax post提交数据乱码

    在用jquery处理html5的应用的时候,一直在...解决方法: 代码如下:$.ajaxSetup({ contentType: “application/x-www-form-urlencoded; charset=utf-8”});$.post(“test.php”, { name: “i5a6”, time: “2pm” }, 

    jQuery调用AJAX时Get和post公用的乱码解决方法实例说明

    以前在新浪博客写过js调用AJAX时Get和post的乱码解决办法,但是使用js代码比较繁琐,我们在使用ajax进行数据交互时可以使用js的一个成熟框架—jQuery。 一个网站的设计,不管是注册登录还是分页查找,都需要提交参数...

    Ajax乱码问题整理

    如果前台页面是gb2312或者其它编码数据就会产生乱码2 post方法提交数据默认的字符编码是utf-8,如果后台是gb2312或其他编码数据就会产生乱码解决方法进一步整理中推荐方法,前台后台都用utf-8编码,这样可以省不少麻烦...

    ajax获取数据中文乱码问题最简单的完美解决方案

    使用scriptCharset即可解决...上面的解决方案是最完美的,另外也附上网上的解决方式吧,是用contentType来处理的 代码如下: jQuery(form).ajaxSubmit({ url: “ajax.aspx?a=memberlogin”, type: “post”, dataTyp

Global site tag (gtag.js) - Google Analytics