zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    javascript中map的用法
    洛谷P1057传球游戏-题解
    洛谷P1049装箱问题-题解
    洛谷P1048采药-题解
    洛谷P1044栈-题解
    洛谷P1040加分二叉树-题解
    洛谷P1005矩阵取数游戏-题解
    洛谷P1004方格取数-题解
    洛谷P1002过河卒-题解
    搜索
  • 原文地址:https://www.cnblogs.com/sxxjyj/p/6094674.html
Copyright © 2011-2022 走看看