jquery字符串序列化方法总结

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

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

    常用方法:

     1 直接传递一个obj,直接转化成key=value然后用&连接起来了
     2 $.param({name:‘bill‘,age:18});
     3 结果:name=bill&age=18
     4 这里的{X:Y,A:B}会变成X=Y&A=B的格式
     5
     6 或者name value键值对组成的数组,这个好说,name=value然后用&拼起来
     7 $.param([
     8    {name:‘name‘,value:‘bill‘},
     9    {name:‘age‘,value:18}
    10  ]);
    11 结果:name=bill&age=18
    12 这里的name:‘name‘两个name是不同的,name value是固定格式
    13  这里的{name:XXX,value:YYY} 会变成XXX=YYY的格式,比起上面的写法,显得更啰嗦
    14
    15 当name出现相同的时候
    16 $.param([
    17    {name:‘name‘,value:‘bill‘},
    18    {name:‘name‘,value:‘tom‘}
    19  ]);
    20 结果:name=bill&name=tom
    21 这样的话,有些后端语言是取不到两个name的
    22
    23 但如果这样呢?
    24 $.param([
    25    {
    26       name:‘name‘,
    27       value:[‘bill‘,‘tom‘]
    28    }
    29  ]);
    30 结果:name=tom,bill
    31 居然用逗号把value接起来了,好吧,后端分割开也行
    32
    33
    34 用传递一个obj的方法呢?
    35 $.param({
    36    name:[‘bill‘,‘tom‘],
    37    age:[18,19],
    38    sex:["male","female"]
    39  });
    40 结果:name[]=bill&name[]=tom&age[]=18&age[]=19&sex[]=male&sex[]=female
    41  name,age,sex被自动加上中括号了,
    42  对于php来说,$_REQUEST[‘name‘],$_REQUEST[‘age‘],$_REQUEST[‘sex‘]都是array了
    43  对应好下角标,3个person的信息就传递过来了
    44
    45 换成第二种固定格式:
    46 $.param([
    47    {name:‘name‘,value:[‘bill‘,‘tom‘]},
    48    {name:"age",value:[18,19]},
    49    {name:"sex",value:["male","female"]}
    50  ])
    51 结果:name=bill,tom&age=18,19&sex=male,female
时间: 2024-07-29 07:01:39

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

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

http://www.365mini.com/page/jquery-serializearray.htm http://www.365mini.com/diy.php?f=jquery-serializearray-demo <form name="myForm" action="http://www.365mini.com" method="post"> <input name="uid" type=&q

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

jquery的 serialize()方法,可以对表单项进行序列化,这本来是很方便的一个功能:但是实际使用中去发现了如下问题:例如:< textarea name="content">abc 123 <  /  textarea >那么在执行 serialize()方法后,得到的却是  abc+123  这样的字符串:即jquery的序列化方法对空格进行了转义,转换成了 + 号.jquery中serialize方法的部分代码如下所示://............

解决IE中无法使用jquery.find方法解析xml字符串的方法

getResult:function(data){ data=data.replace(/"/g,"'"); var xml; //解决办法 if( typeof data == "string" ){ xml = new ActiveXObject("Microsoft.XMLDOM"); xml.async = false; xml.loadXML(data); } else { xml = data; } var resultOb

Newtonsoft.Json.4.5.0 序列化与反序列化json字符串使用方法总结

在VS里下载安装: Json.NET 5.0.6 http://www.nuget.org/packages/Newtonsoft.Json/5.0.6 反序列化json字符串为List: json字符串如下: 1 {"docs": [{ 2 "uid": 2629577, 3 "nickname": "枕边疯电台", 4 "is_v": "true", 5 "category

jQuery ajax - serialize() 方法

jQuery ajax - serialize() 方法 jQuery Ajax 参考手册 实例 输出序列化表单值的结果: $("button").click(function(){   $("div").text($("form").serialize()); }); 亲自试一试 定义和用法 serialize() 方法通过序列化表单值,创建 URL 编码文本字符串. 您可以选择一个或多个表单元素(比如 input 及/或 文本框),或者 fo

JQuery中$.ajax()方法参数详解

url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注意其他http请求方法,例如put和 delete也可以使用,但仅部分浏览器支持. timeout: 要求为Number类型的参数,设置请求超时时间(毫秒).此设置将覆盖$.ajaxSetup()方法的全局设 置. async:要求为Boolean类型的参数,默认设置为true,所有请求均为异步请求. 如果需要发送同步请求,请将此选项

ajax系列之用jQuery的ajax方法向服务器发出get和post请求

打算写个ajax系列的博文,主要是写给自己看,学习下ajax的相关知识和用法,以更好的在工作中使用ajax. 假设有个网站A,它有一个简单的输入用户名的页面,界面上有两个输入框,第一个输入框包含在一个form表单里用来实现form提交,第二个输入框是单独的.没有包含在form里,下面就用这两个输入框来学习下jQuery的ajax. 1,前端的html和javascript代码 页面html 1 <main style="text-align: center; margin: 200px a

jquery中$.ajax方法提交表单

function postdata(){                        //提交数据函数 $.ajax({                                //调用jquery的ajax方法 type: "POST",                       //设置ajax方法提交数据的形式 url: "ok.php",                      //把数据提交到ok.php data: "writer=

jQuery动画animate方法使用介绍

jQuery动画animate方法使用介绍 用于创建自定义动画的函数. 返回值:jQuery animate(params, [duration], [easing], [callback]) 如果使用的是“hide”.“show”或“toggle”这样的字符串值,则会为该属性调用默认的动画形式.paramsOptions一组包 含作为动画属性和终值的样式属性和及其值的集合 params 对象{},注意:所有指定的属性必须用骆驼形式,比如用marginLeft代替margin-left,如果使用