*)表单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()
toJSON() 是JavaScript Date对象的函数,用来把日期转换成JSON形式的字符串,形式为:就像x ISO-8601 标准: YYYY-MM-DDTHH:mm:ss.sssZ
 
 
 

jQuery积累:serialize()、stringify()、toJSON()的更多相关文章

  1. 拓展jQuery的serialize(),将form表单转化为json对象

    jQuery 的 serialize() 方法经常会报 Uncaught TypeError: JSON.serializeObject is not a function 的错误, 原装的方法真的一 ...

  2. JQuery中serialize()、serializeArray()和param()方法示例介绍

    在项目中做form表单提交的时候,如果参数比较少,可以通过jquery一个个取得,但是当 form表参数很多的情况下,还是一一取得的话无疑是加大了工作量,那我们需要咱们获取到表单的所有参数呢,幸好,j ...

  3. 2016 系统设计第一期 (档案一)jQuery ajax serialize()方法form提交数据

    jQuery ajax serialize()方法form提交数据,有个很奇怪的问题,好像不能取到隐藏控件的值. //点击提交按钮保存数据 $('#btn_submitUser').click(fun ...

  4. JQuery中serialize() 序列化

    更多2014/8/24 来源:jquery学习浏览量:1671 学习标签: serialize 本文导读:在jQuery中,当我们使用ajax时,常常需要拼装input数据以键值对(Key/Value ...

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

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

  6. JQuery中serialize()

    一.serialize()定义和用法: serialize()方法通过序列化表单值,创建标准的URL编码文本字符串,它的操作对象是代表表单元素集合的jQuery 对象.你可以选择一个或多个表单元素(比 ...

  7. jQuery ajax - serialize() 方法-输出序列化表单值

    定义和用法 serialize() 方法通过序列化表单值,创建 URL 编码文本字符串. 您可以选择一个或多个表单元素(比如 input 及/或 文本框),或者 form 元素本身. 序列化的值可在生 ...

  8. jQuery.fn.serialize 阅读

    今天第一次阅读jQuery源码,因为读到用js对表单的序列化,为的是在ajax操作中将表单中各个域的值传到服务器.书上用了很长的步骤,判断每一个表单域的属性,然后拼接. 大概是这样: function ...

  9. jquery $('#form1').serialize()序列化提交表单

    1.$("#form1").serialize() 把form表单的值序列化成一个字符串,如username=admin&password=admin123 <for ...

随机推荐

  1. org.dom4j 解析XML

    org.dom4j 解析xml java 代码 1 import java.io.File; import java.io.FileOutputStream; import java.io.FileW ...

  2. Learn Python the hard way, ex35 分支和函数

    #!/usr/bin/python #coding:utf-8 from sys import exit def gold_room(): print "this room is full ...

  3. JSP基础--EL表达式

    EL(表达式语言) 1 EL概述 1.1 EL的作用 JSP2.0要把html和css分离.要把html和javascript分离.要把Java脚本替换成标签.标签的好处是非Java人员都可以使用. ...

  4. Parentheses Sequence微软编程笔试

    描述 You are given a sequence S of parentheses. You are asked to insert into S as few parentheses as p ...

  5. 如何创建linux虚拟机

    一.安装配置linux虚拟机 第1步:运行"Vmware WorkStation",看到主页面. 第2步:创建新的虚拟机,新建虚拟机向导——典型(推荐). 第3步:选择稍后安装操作 ...

  6. 将Java项目打包成可以独立运行的Jar包

    因为一直也没怎么用过Java的原因,所以以前本科上课的时候,在控制台下运行Java程序都是仅仅运行单个的没有第三方库依赖的情况下运行的 那种情况特别简单,只要输入Javac 文件名.java等到编译完 ...

  7. jvm性能监控(3)-jdk自带工具 jps jstack jmap

    一.概要: jps -l 查看现有的java进程 jps -l 显示所有正在运行的java进程id   jstack 查看Java线程      jstack -l pid; 做thread dump ...

  8. java_第一年_JDBC(4)

    注:该篇只是为了小白的我熟悉下JDBC的代码,练习篇 在mysql中建test测试库,并创建一张employees表,加入一些数据如下图: 通过JDBC连接对表中数据进行添加: package lzj ...

  9. Codeforces 1105D (BFS)

    题面 传送门 分析 考虑BFS while(棋盘没有满){ for 玩家 p{ 对p进行BFS,走s[p]步 } } 对于每个玩家p BFS的时候如果到了格子(x,y),就把\(vis[x][y]\) ...

  10. Codeforces Round #460 (Div. 2) B Perfect Number(二分+数位dp)

    题目传送门 B. Perfect Number time limit per test 2 seconds memory limit per test 256 megabytes input stan ...