jQuery的ajax学习(一)表单序列化
来源:互联网 发布:淘宝的钻石和皇冠 编辑:程序博客网 时间:2024/05/17 22:46
js原生的ajax不仅要适配兼容,写起来也麻烦,数据类型也少。XMLHttpRequest的属性和方法也很复杂,在实际开发中,jQuery封装的ajax:$.ajax()明显更实用。在jquery中,$.ajax()方法属于最底层的方法,第2层是load,get,post方法,第三层是getScript,getJSON等方法。此外,还有很多实用的方法比如ajax全局方法等等。平时光用了,并不知道jquery'的实现过程,接下来结合jquery源代码来进行学习。以后有时间也会针对jQuery的其他功能进行源码解析学习。
一,表单序列化
我在以前实际用的过程中,一般是用选择器得到数据之后,再用$ajax()方法把数据放到url里面传过去。这么做既麻烦,可以传的数据也少。而jQuery已经准备了可以将DOM元素内容序列化的函数。
serialize()(序列化函数,筛选出表单中需要提交的数据并以序列化字符串方式返回,形如:“key=value&key=value…”)
serializeArray()(筛选出表单中需要提交的数据并以key/value键值对的对象数组格式返回,返回[{name:’key’,value:’select1’},{name:’selectM’,value:’selectM1’}, {name:’selectM’,value:’selectM2’}, { name:’key2’,value:0}…])
param(serializeArray, traditional )(将key/value键值对的对象数组序列化为“key=value&key=value…”字符串)。
serialize直接调用jQuery.param( this.serializeArray() )即可。
先看看serializeArray的源码,下面这段代码为转载
总结一下,
第一步:将表单的所有元素取出来放到数组里面;
第二步:过滤出为需要提交的表单元素(有name名称、非disabled元素、非提交按钮等元素、checkbox/radio的checked的元素)
第三步:组合成key/value键值对的对象数组
param函数源码:
js学得不扎实,读序列化源码就有点累了,感觉读后面的更会是囫囵吞枣。后面的不会从源码这么仔细的说明了。顶多是我阅读了之后,直接把大概过程说一下,应该
不会说这么仔细了。下一篇会直接将$.load() $.get() $.post() 的应用。等我js更扎实之后再回过头来看源码。
- jQuery的ajax学习(一)表单序列化
- jQuery的ajax学习(一)表单序列化
- Jquery ajax序列化表单
- jQuery ajax 中级(getScript() ; getJSON() ;ajax; 表单序列化)
- jQuery序列化Ajax提交表单
- jquery序列化表单并ajax提交
- jQuery--9.$.ajax(),表单序列化,formdata
- JS-jquery ajax序列化表单多选框传值
- jQuery.ajax $.post $.load 序列化表单(ajax提交表单,post传递参数,序列化表单)
- jQuery教程(19)-jquery ajax操作之序列化表单
- 关于jquery序列化表单的使用,以及jquery-ajax上传文件
- Ajax序列化表单
- ajax表单序列化
- 关于jQuery使用serializeArray()序列化表单数据,使用FormData()实现AJAX请求的问题
- jQuery ajax序列化表单数据 serialize() serializeArray()函数的使用
- jquery表单序列化
- jquery表单序列化
- jQuery序列化表单的方法总结(serialize()、serializeArray())
- 在 Jenkins 中,使用 maven 打包报 package xxx does not exist 问题的解决方法
- ueditor 的java实现粘贴微信文章时 反微信反盗链
- 2017 最新的 cocoaPods 安装方法
- 在线编程四
- https 安全验证问题
- jQuery的ajax学习(一)表单序列化
- Android启动分析
- Mysql—实现批量插入,存在就更新,不存在就插入
- duplicate symbol
- redis集群搭建测试-2
- java 求数组中重复元素的个数
- C语言---计算机中小数存储
- 给RecyclerView添加头布局和底部布局(参考了网络代码)
- mac下卸载mysql