jQuery积累:serialize()、stringify()、toJSON()

*)表单serialize()序列化,和serializeArray()

##)应用场景

  当Ajax或者get请求发送表单中的某一个,或者某几个值到后台时,通过jQuery就能获取到这些值。然后作为Ajax的参数(或者get请求的 ? 后的参数)发送到后台。

  但是,当需要发送整个表单的数据到后台时,表单如果小还好说,表单如果大,有很多的值,那一个一个获取就比较麻烦了。

  这个时候,就需要使用$("form").serialize();

  在w3school中可以看到相关资料:http://www.w3school.com.cn/jquery/ajax_serialize.asp

##)用法:

  可以选择一个表单、或者一类表单元素,或者整个form,进行.serialize() 或serializeArray()操作。

  .serialize()  .serializeArray()操作只将有name属性的表单元素生成

  ###).serialize() 返回URL编码文本字符串

  生成的结果如下:a=1&b=2&c=3&d=4&e=5        即:name值1=对应value值1&name值2=对应value值2  

  这个结果可以直接追加到get请求路径的后面。

  ###).serializeArray()返回JSON对象(是JSON对象,而不是JSON字符串,需要使用插件或者第三方库进行字符串化操作。)

  生成的结果如下:

[ 
  {name: 'firstname', value: 'Hello'},     //name:是表单name   value是:表单的值
  {name: 'lastname', value: 'World'},
  {name: 'alias'}, // 值为空
]

  这个结果可以作为Ajax的参数传递到后台。

*)JSON.stringify() 

JSON.stringify() 是JavaScript提供的处理JSON对象的内置函数。参考w3school文档:http://www.w3school.com.cn/js/js_json_stringify.asp

作用:把JavaScript对象转换成JSON的字符串形式。

var obj = { name:"Bill Gates", age:62, city:"Seattle"};  //js对象
var arr = [ "Bill Gates", "Steve Jobs", "Elon Musk" ];  //js数组
var obj =  { "name":"Bill Gates", "today":new Date(), "city":"Seattle"};  //js对象含日期,日期也会转换成对应的字符串形式
这样的几种类型的对象转换成JSON形式的字符串   *)toJSON()        
上一篇:Django序列化


下一篇:块级元素