jQuery的ajax传递时乱码解决

 

Jsp中

var num = $("#txtNum").val();
var name = encodeURIComponent($("#txtName").val());
var className = encodeURIComponent($("#selectClasses option:selected").text());

 

Action中

stu.setNum(URLDecoder.decode(num, "UTF-8"));
stu.setName(URLDecoder.decode(name, "UTF-8"));
stu.setClassName(URLDecoder.decode(className, "UTF-8"));

一般在post中struts过滤器会自动处理。而在get中,需要这样操作。

原理:

encodeURIComponent是js内置函数,是将中文韩文等特殊字符转换成utf-8格式的url编码。

如果给后台传递参数需要使用encodeURIComponent时,需要后台解码对utf-8支持

还要注意的是form中的编码方式和当前页面编码方式相同。

 

 

 

时间: 2024-09-17 04:46:07

jQuery的ajax传递时乱码解决的相关文章

Asp中使用JQuery的AJAX提交中文乱码解决方法

客户端页:client.html 复制代码 代码如下: <script>     //jquery的post     $.post     (         'server.asp',         {             Act:'DoSubmit',             UserName:escape('脚本之家'),//进行编码            WebSite:'www.jb51.net'         },         function(data)       

ajax返回中文乱码解决办法

解决AJAX中文回传乱码,其实就是将在服务器端文件加一个HEADER,指明送出的是什么编码流.比如 ASP文档就是在头部增加一行说明:  代码如下 复制代码 Response.Charset("GB2312") PHP的示例如下:  代码如下 复制代码 header('Content-Type:text/html;charset=GB2312'); JSP的如下: response.setHeader("Charset","GB2312"); 上

jquery ajax返回值乱码解决方法

实例解决方法 encodeuri(encodeuri(data))  ///注意两次编码!! $.ajax({        type: "post",        url: url,        data:data,        contenttype :"application/x-www-form-urlencoded;charset=utf-8",        cache: false,        success  : viewajax.hand

jquery ajax post 中文编码乱码解决方法

encodeuricomponent会以utf-8编码,在gbk编码下,可不可以以gbk进行编码呢? 如果还在打encodeuricomponent主意的话,那不好意思,encodeuricomponent只会utf-8编码,并没有其他api进行其他编码:不过,别担心,看看下面: encodeuricomponent,它是将中文.韩文等特殊字符转换成utf-8格式的url编码. escape对0-255以外的unicode值进行编码时输出%u****格式,其它情况下escape,encodeur

Ajax request response 乱码解决方法_AJAX相关

此功能已进入试用一周了,都没有问题,奇怪的是今天出现了问题?? 复制代码 代码如下: AjaxRequestObj.createEqStatusParameter=function() {     if (eqStatusArray.length < 1) {         return;     }     var paramNameArray = new Array();     var paramValueArray = new Array();     //取状态数组     for

js中ajax 传递中文乱码问题解决办法

解决的办法是使用js的encodeURI函数,对传递的参数进行编码.  代码如下 复制代码 var keywords=encodeURI(document.getElementById("suggestfilm").value); 例  代码如下 复制代码 <script type="text/javascript">         //var data=<%=data %>     jQuery(document).ready(funct

ajax post get 乱码解决方法

在使用"get"时,抓取的页面最后加上编码类型 <% 服务器端:servletactioncontext.getresponse().setcharacterencoding("utf-8"); 客户端 网页特效p/jsp.html target=_blank >jsp教程: <%@ page language="java" contenttype="text/html; charset=utf-8" pag

Ajax request response 乱码解决方法

此功能已进入试用一周了,都没有问题,奇怪的是今天出现了问题?? 复制代码 代码如下: AjaxRequestObj.createEqStatusParameter=function() {     if (eqStatusArray.length < 1) {         return;     }     var paramNameArray = new Array();     var paramValueArray = new Array();     //取状态数组     for

ajax+php中文乱码解决办法_AJAX相关

AJAX的乱码的出现在的原因 由于XMLHTTP采用的是Unicode编码上传数据,而一般页面采用的是gb2312,这就造成显示页面时产生乱码.而当在获取页面时的XMLHttp返回的是utf-8编码,这就造成了显示产生乱码. 解决方法之一就是在PHP文件中显示声明为GB2312 header("Content-Type:text/html;charset=GB2312");  而对于发送到服务器的中文进行转码. 如下 $_POST["content"]=iconv(