首页 > 代码库 > jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
序列化中文时之所以乱码是因为.serialize()调用了encodeURLComponent方法将数据编码了
解决方法就是进行解码
原因:.serialize()自动调用了encodeURIComponent方法将数据编码了
解决方法:调用decodeURIComponent(XXX,true);将数据解码
//商品标签
function tag(url){
var form = $(‘form‘).serialize(); //序列化内容
var shuju = decodeURIComponent(form,true); //将数据解码
alert(shuju);
return false;
if(url.indexOf("?") >= 0){
var newurl = url + $(‘form‘).serialize();
window.location.href = http://www.mamicode.com/newurl;
}else{
var form = $(‘form‘).serialize();
var shuju = decodeURIComponent(form,true);
alert(shuju);
var newurl = url + ‘?‘ + shuju;
window.location.href = http://www.mamicode.com/newurl;
}
}
//解决办法:将解码方式unscape换为decodeURI
//原因:浏览器会将url中的中文参数进行encodeURI编码,所以要通过js使用decodeURI进行解码
var url = decodeURI(location.href); //decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。
//jq获取百度编辑器的内容
var test = editor.getContent();
jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。