在jquery中字符串序列化方法包括有param() 、serialize() 、serializeArray(),在这里对其常用做法进行总结。

  1. $.param()方法
    这是serialize()方法的核心,用来对一个数组或对象按照key/value进行序列化。

    常用方法:

     直接传递一个obj,直接转化成key=value然后用&连接起来了
    $.param({name:'bill',age:18});
    结果:name=bill&age=18
    这里的{X:Y,A:B}会变成X=Y&A=B的格式 或者name value键值对组成的数组,这个好说,name=value然后用&拼起来
    $.param([
    {name:'name',value:'bill'},
    {name:'age',value:18}
    ]);
    结果:name=bill&age=18
    这里的name:'name'两个name是不同的,name value是固定格式
    这里的{name:XXX,value:YYY} 会变成XXX=YYY的格式,比起上面的写法,显得更啰嗦 当name出现相同的时候
    $.param([
    {name:'name',value:'bill'},
    {name:'name',value:'tom'}
    ]);
    结果:name=bill&name=tom
    这样的话,有些后端语言是取不到两个name的 但如果这样呢?
    $.param([
    {
    name:'name',
    value:['bill','tom']
    }
    ]);
    结果:name=tom,bill
    居然用逗号把value接起来了,好吧,后端分割开也行 用传递一个obj的方法呢?
    $.param({
    name:['bill','tom'],
    age:[18,19],
    sex:["male","female"]
    });
    结果:name[]=bill&name[]=tom&age[]=18&age[]=19&sex[]=male&sex[]=female
    name,age,sex被自动加上中括号了,
    对于php来说,$_REQUEST['name'],$_REQUEST['age'],$_REQUEST['sex']都是array了
    对应好下角标,3个person的信息就传递过来了 换成第二种固定格式:
    $.param([
    {name:'name',value:['bill','tom']},
    {name:"age",value:[18,19]},
    {name:"sex",value:["male","female"]}
    ])
    结果:name=bill,tom&age=18,19&sex=male,female

jquery字符串序列化方法总结的更多相关文章

  1. 分享一个 jquery serializeArray()序列化方法

    http://www.365mini.com/page/jquery-serializearray.htm http://www.365mini.com/diy.php?f=jquery-serial ...

  2. 关于jquery的serialize方法转换空格为+号的解决方法

    jquery的 serialize()方法,可以对表单项进行序列化,这本来是很方便的一个功能:但是实际使用中去发现了如下问题:例如:< textarea name="content&q ...

  3. C#字符串数组排序 C#排序算法大全 C#字符串比较方法 一个.NET通用JSON解析/构建类的实现(c#) C#处理Json文件 asp.net使用Jquery+iframe传值问题

    C#字符串数组排序   //排序只带字符的数组,不带数字的 private   string[]   aa   ={ "a ", "c ", "b & ...

  4. 第三章 JQuery: HelloWorld--常见方法--css--选择器--筛选器--属性--效果--事件--数组操作--字符串操作--对象转换

    1.jQuery简介 为了简化JavaScript 的开发, 一些JavsScript 库诞生了. JavaScript库封装了很多预定义的对象和实用函数.能帮助使用者建立有高难度交互的页面, 并且兼 ...

  5. jquery中$.ajax方法提交表单

    function postdata(){                        //提交数据函数 $.ajax({                                //调用jqu ...

  6. jQuery.extend()方法和jQuery.fn.extend()方法源码分析

    这两个方法用的是相同的代码,一个用于给jQuery对象或者普通对象合并属性和方法一个是针对jQuery对象的实例,对于基本用法举几个例子: html代码如下: <!doctype html> ...

  7. jQuery的ajax 方法提交多个对象数组问题 C# traditional $.param

    当用$.ajax()向后台提交参数时,如果参数中数组的话一般在后台会用List<T>接收;但老是不成功如下面代码 "}]; "}]; function addUser( ...

  8. jquery通过ajax方法获取json数据不执行success

    1.jquery通过ajax方法获取json数据不执行success回调 问题描述:jquery通过ajax方法获取json数据不执行success回调方法 问题原因:json格式存在问题或不符合标准 ...

  9. Jquery源码中的Javascript基础知识(四)— jQuery.fn.init方法

    $() 即调用了jQuery.fn.init方法 jQuery = function( selector, context ) { return new jQuery.fn.init( selecto ...

随机推荐

  1. Java学习个人备忘录之内部类

    内部类: 将一个类定义在另一个类的里面,对里面那个类就称为内部类. class Outer { private int num = 3; class Inner //它想访问Outer中的num, 如 ...

  2. 第二次作业(1001.A+B Format (20))

    代码文件及题目描写已放至此 一开始看题目的时候有点没看懂,要求把数分组是什么意思.如果只是单纯的a+b的话是不可能的,所以关于这一点犹豫了很久.本来以为是指把a,b,以及它们的和c各建一个数组,但只输 ...

  3. Unity3d学习日记(五)

      之前用3dsmax将模型转成FBX怎么也没有办法自动导入材质到Unity3d中(试过勾选了导出嵌入媒体,没用).索性试了试c4d,发现是可行的,看来像我这种菜鸡还是更加适合用c4d.   拿zoe ...

  4. mysql授权远程连接

     查一下你的MYSQL用户表里, 是否允许远程连接  1.授权 mysql>grant all privileges on *.*  to  'root'@'%'  identified by  ...

  5. 如何彻底解决adb 5037端口被占用

    在进行安卓开发的时候是不是经常碰到adb端口被占用的情况? 解决这个问题的方法很简单,只需要设置一个系统环境变量就可以搞定. 设置方法: 增加系统环境变量变量名称:ADNROID_ADB_SERVER ...

  6. 在Centos中,大容量,且读写频繁的目录

    1./根目录 2./usr目录 3./home目录 4./var目录 5./Swap目录     比较特殊,只要物理内存没使用完,就不会被启用 以上为鸟哥的linuxPDF中的学习心得

  7. django为model设置表名

    class redis_data(models.Model):     class Meta:         db_table='redis_data'     key=models.CharFie ...

  8. BZOJ4835 遗忘之树

    点分树上的某个点和其某个子树在原树中的连接方式一般来说可以是由该点连向子树内任意一点,这样方案数即为所有子树大小之积.但有一种特殊情况是连接某点后导致编号最小的重心更换,只要去掉这种就行了,具体地可以 ...

  9. vue-cli项目打包出现空白页和路径错误问题

    vue-cli项目打包: 1. 命令行输入:npm  run  build 打包出来后项目中就会多了一个文件夹dist,这就是我们打包过后的项目. 第一个问题,文件引用路径.我们直接运行打包后的文件夹 ...

  10. CentOS 安装tomcat

    1.确保JDK已经安装,版本在1.8以上 2.到网管下载安装 wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0. ...