jquery serialize序列化中文乱码问题

背景:

页面多条件查询简化多条件提交ajax url参数组织动作,jQuery提供了很便捷的$(‘#formId‘).serialize()方法。会自动组装为{a=1,b=2,c=3....}

问题:

serialize方法会自动调用encodeURIComponent方法进行编码,所以,自动完成后的中文会产生经典的乱码问题。

解决:

使用decodeURIComponent对serialize加码后的进行解码即可恢复正常。

扩展资料:http://www.w3school.com.cn/jsref/jsref_decodeURIComponent.asp

时间: 2025-01-08 09:15:56

jquery serialize序列化中文乱码问题的相关文章

jquery serialize传中文乱码解决方法

jQuery form表单.serialize()序列化后中文乱码问题原因及解决 原因:.serialize()自动调用了encodeURIComponent方法将数据编码了 解决方法:调用decodeURIComponent(XXX,true);将数据解码 例如: var params = jQuery("#formId").serialize(); // http request parameters. params = decodeURIComponent(params,true

jquery+asp ajax 中文乱码问题

做网站的时候,因为网站最初设计的时候,没有考虑那么多, 设定了gb2312 的简体中文 作为网站编码. 作为中文用gb2312的编码属很正常的事件了,建站起来也没有什么大问题,包括自己编写JS Ajax也不会产生乱码问题 随着Jquery的流行,我也渐渐喜欢Jquery操作DOM的方法,后来把Jquery文件作为全站的公用JS库. Jquery的Ajax也挺好用,因为作为公用的文件了,所以不必再为每个需要Ajax的页面,再写什么XMLHTTPrequest这些对象,所以就开始使用Jquery的A

玩转web之ajax(一)---使用表单的serialize()方法中文乱码解决

有时候我们需要使用ajax提交去提交form的值,这样就需要使用serialize()去获取form的值,但这样获取的值如果有中文,会乱码,原因和解决方法如下: 原因:.serialize()自动调用了encodeURIComponent方法将数据编码了 解决方法:调用decodeURIComponent(XXX,true);将数据解码 如: var data=$('#addf').serialize(); data= decodeURIComponent(data,true); 玩转web之a

jquery之ajax中文乱码解决方案

$.ajax({ dataType : 'json',type : 'POST',url : 'http://localhost/test/test.do',data : {id: 1, type: '商品'},success : function(data){ } } ); 问题: 提交后后台action程序时,取到的type是乱码 解决方法: 方法一:提交前采用encodeURI两次编码,记住一定是两次 1.修改以下代码 data:{id:1, type:encodeURI(encodeUR

JQuery AJAX提交中文乱码的解决方案

?JQuery是一个非常优秀的框架,在特定场合下使用JQuery提交数据,相当的方便快捷. 但是,在处理一个GB2312编码的网站AJAX提交时,中文数据却成了乱码. 现象如下: 1)在Firefox下,处理页面的编码为gb2312,提交数据没有问题,中文能够正确解析: 2)在IE8下,处理页面的编码为gb2312,提交中文数据出现乱码. 无论是$.post还是$.ajax,抑或$.ajaxSubmit(来自于Form插件),在之前的UTF-8编码的网站都没有出现过任何问题, 看来是由于提交数据

ssm框架中.serialize()传递中文乱码问题

解决方案,添加 var params = jQuery("#carApply form").serialize(); params = decodeURIComponent(params, true); 例如js $("#car_btn").click(function() { var params = jQuery("#carApply form").serialize(); params = decodeURIComponent(params

spring mvc通过jQuery ajax传值中文乱码问题

今天开发的时候遇到这个问题,记性差,记下来先. 1.设置web.xml,添加utf-8拦截器 <filter> <filter-name>characterEncodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name&

js中serialize() 序列化表单时自动url编码

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>serialise</title> <script src="jquery.js" type="text/javascript"></script> </head> <body

jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法

序列化中文时之所以乱码是因为.serialize()调用了encodeURLComponent方法将数据编码了 解决方法就是进行解码 原因:.serialize()自动调用了encodeURIComponent方法将数据编码了 解决方法:调用decodeURIComponent(XXX,true);将数据解码 //商品标签function tag(url){ var form = $('form').serialize(); //序列化内容 var shuju = decodeURICompon