JQuery Ajax操作常用的API:serializeArray、serialize、param的区别和使用
来源:互联网 发布:2017年二级c语言题库 编辑:程序博客网 时间:2024/06/03 18:41
使用JQuery进行ajax编码的时候,经常会使用到这3个API,本文学习下这3个API的使用方式。如下的HTML片段,如果我们将holder表单下的控件值提交到服务器。就需要用到serialize或者serializeArray了。
<form id="holder"> <input type="text" name="a" value="1"/> <div><input type="text" name="b" value="2" id="b" /> </div> <input type="hidden" name="c" value="3" id="c" /> <div> <input type="checkbox" name="f" value="8" checked="true"/> <input type="checkbox" name="f" value="9" checked="true"/> </div></form>
$("#holder").serialize() 输出结果是 a=1&b=2&c=3&f=8&f=9
$("#holder").serializeArray() 输出结果如下:
[ {name: 'a', value: '1'}, {name: 'b', value: '2'}, {name: 'c', value: '3'}, {name: 'f', value: '8'}, {name: 'f', value: '9'}]
可以看到:serialize和serializeArray都是针对JQuery对象(选中的FORM元素)进行操作,只是返回值格式不同而已。
这里特别要注意:这2个API只能操作form,如果将holder改成div,会发现不起作用。
var obj = {"a":{one: 1,two: 2,three: 3}, "b": [1,2,3]};var recursiveEncoded = $.param(obj);var recursiveDecoded = decodeURIComponent($.param(obj));alert(recursiveEncoded);alert(recursiveDecoded);
输出结果是:
a%5Bone%5D=1&a%5Btwo%5D=2&a%5Bthree%5D=3&b%5B%5D=1&b%5B%5D=2&b%5B%5D=3a[one]=1&a[two]=2&a[three]=3&b[]=1&b[]=2&b[]=3
可以看到:使用param将json转换成html参数时候,会对特殊字符编码。关于javascript编码,可以参考这篇文章。
recursiveDecoded的返回结果可以看出:param对数组的序列化并不是我们想要的结果。可以使用正则表达式转换:
recursiveDecoded.replace(/\[\]/g,"")
1 0
- JQuery Ajax操作常用的API:serializeArray、serialize、param的区别和使用
- jQuery-ajax的serializeArray()、serialize()、param()应用
- param()、serialize() 和serializeArray()区别
- JQuery中serialize()、serializeArray()和param()方法
- JQuery中serialize()、serializeArray()和param()方法
- JQuery中serialize()、serializeArray()和param()方法
- JQuery中serialize()、serializeArray()和param()方法
- JQuery中serialize()、serializeArray()和param()方法
- JQuery中serialize()、serializeArray()和param()方法
- JQuery中的param()、 serialize() 和serializeArray()方法
- JQuery中serialize与serializeArray的区别
- 【jQuery】serializeArray()与serialize()的区别
- jquery serializeArray()与serialize()的区别
- Ajax中表单序列化serialize()和serializeArray()的使用
- jQuery ajax - serialize()方法和serializeArray() 方法
- JQuery中serialize()、serializeArray()和param()方法示例介绍
- JQuery中serialize()、serializeArray()和param()方法示例介绍
- JQuery中serialize()、serializeArray()和param()方法示例介绍
- Android iOS APPUI设计规范实例(详细的UI设计方法)
- UIMenuController不能正常显示或消失
- ViewAnimator使用
- PHP获取搜索引擎关键词
- OpenWRT 增加内核模块及应用方法
- JQuery Ajax操作常用的API:serializeArray、serialize、param的区别和使用
- [总结] 网络流经典建模
- 编程题-汽车加油-优先队列
- 记性不如烂笔头21-JAVA数据库连接池 DBCP
- java开发小细节分享
- Quartz2D 图像处理详解(一)
- AC自动机模板(hdu2222)
- Missing styles. Is the correct theme chosen for this layout?
- sql 备忘