码迷,mamicode.com
首页 > Web开发 > 详细

jQuery ajax中serialize()方法增加其他参数

时间:2017-07-13 16:33:34      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:logs   数据库   encode   ams   转换   后台   query   pre   bsp   

使用jQuery.ajax()进行表单提交时,需要传递参数,最直接的方法便是使用Form的serializa()将表单序列化,前提只是将Form表单中的name属性与数据库的字段名保持一致便可;但如果遇到再次往其中增加参数的状况呢,我们该如何处理?

First:

其实,jQuery ajax的serialize() 方法是将表单序列化为键值对(key1=value1&key2=value2…)后提交,使用标准的 URL-encoded 编码表示文本字符串,而jQuery ajax-param()方法也是将其序列化一个 key/value 对象,如:

var params = { width:1900, height:1200 };
var str = jQuery.param(params);
$("#results").text(str);

  结果为:

width=1680&height=1050

  恰好两者转换的形式一样,于是在serialize()中想要增加其他参数的时候,就可以:

jQuery.post(url, $.param({aa:‘aa1‘,bb:‘bb‘})+‘&‘+jQuery(‘#fm‘).serialize(), function (result) {
 ...
}


于是传到后台的参数中,除过form表单中的含有name属性的字段外,就额外增加了aa以及bb两个参数,我们的问题也便迎刃而解了!

Second:

还有另外一种解决方法就是,将需要增加的参数写在表单隐藏域中,这样是需要使用Form.serialize()方法,即可将其余参数增加进去。

jQuery ajax中serialize()方法增加其他参数

标签:logs   数据库   encode   ams   转换   后台   query   pre   bsp   

原文地址:http://www.cnblogs.com/zhengyeye/p/7160432.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!