序列化中文时之所以乱码是因为.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 = newurl;
}else{
var form = $('form').serialize();
var shuju = decodeURIComponent(form,true);
alert(shuju);
var newurl = url + '?' + shuju;
window.location.href = newurl;
}
}

  //解决办法:将解码方式unscape换为decodeURI
  //原因:浏览器会将url中的中文参数进行encodeURI编码,所以要通过js使用decodeURI进行解码
  var url = decodeURI(location.href);  //decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。

  //jq获取百度编辑器的内容
  var test = editor.getContent();

jQuery使用serialize()表单序列化时出现中文乱码问题&js获取url中的参数,并保证获取到的参数不乱码的更多相关文章

  1. 将任意一个jQuery对象进行表单序列化,免除了提交请求时大量拼写表单数据的烦恼,支持键值对<name&value>格式和JSON格式。

    http://zhengxinlong.iteye.com/blog/848712 将任意一个jQuery对象进行表单序列化,免除了提交请求时大量拼写表单数据的烦恼,支持键值对<name& ...

  2. js表单序列化时,非空判断

    在项目中,对于数据的传输一般需要非空的判断,而数据字段较多时一般直接将表单序列化,此时如何判断非空,如下 因为将表单序列化时,数据格式为 trainKind=1&trainKindCode=1 ...

  3. (转)jquery serialize表单序列化,当radio或checkbox 未选中时,没有序列化到对象中的原因分析和解决方案 - ghostsf

    相信很多人都用过jq的表单序列化serialize()方法,因为这能很方便地帮你把表单里所有的非禁用输入控件序列化为 key/value 对象,不需要你再去一个个地拼接参数了. 这是一个很好用的函数, ...

  4. jQuery实现form表单序列化转换为json对象功能示例

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  5. jQuery判断 form表单提交时一些文本框的判断

    一: form表单提交时如果表单里有input标签为空那么不提交form表单. <head> <script type="text/javascript"> ...

  6. jquery将form表单序列化常json

    var formData = {};$.each(form.serializeArray(),function(i, item){ formData[item.name] = item.value;} ...

  7. Spring MVC(十)--通过表单序列化传递参数

    通过表单序列化传递参数就是将表单数据转化成字符串传递到后台,序列化之后参数请求变成这种模式param1=value1&&param2=value2,下面用代码实现. 1.创建表单 &l ...

  8. jquery如何实现表单post方式提交

    jquery如何实现表单post方式提交 一.总结 一句话总结:即使js给form对象提供了submit()方法,那也不意为表单中可以不写提交按钮这个元素,即form表单依然需要五脏俱全才可以使用js ...

  9. jquery表单序列化

    $(function(){ $('#send').click(function(){ $.ajax({ type: "GET", url: "test.json" ...

随机推荐

  1. linux一些基本命令

    linux查看自己外网ip:curl ifconfig.me 删除目录:rm -rf 目录名 查看版本:rpm -q 版本 修改文件的用户权限:chown kds:kds agent.crontab修 ...

  2. 安卓中級教程(10):@InjectView

    package com.example.android.db01; import android.app.Activity; import android.content.ContentValues; ...

  3. 浅析Java中CountDownLatch用法

    http://www.cnblogs.com/yezhenhan/archive/2012/01/07/2315652.html

  4. macOS 10.12 解决模拟器不流畅的一段命令行

    sudo sysctl -w kern.timer.coalescing_enabled=0

  5. Organization SYMMETRIC MULTIPROCESSORS

    COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION Figure 17.4 depicts i ...

  6. css 文字溢出隐藏 带省略号

    .demo{ width:100px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } 注意宽度要设置

  7. yum安装配置

    1.删除redhat原有的yum rpm -aq|grep yum|xargs rpm -e --nodeps 2.下载yum安装文件 http://mirrors.163.com/centos/6/ ...

  8. jquery懒加载jquery.lazyload.js

    Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预 ...

  9. CMake的一些使用

    1. 使用QT加载CMake工程 打开QT,"文件"->"打开文件或项目"->选中CMakeLists.txt文件,出现对话框,单击下一步,点击&q ...

  10. Hibernate操作指南-实体之间的关联关系(基于注解)