先上代码:
html:
<form id='form'>
id:<input name= 'id' type='text' value='1'/>
name:<input name= 'name' type='text' value='user'/>
phone:<input name= 'phone' type='text'value='189'/>
address:<input name= 'id' type='text'value='bj'/>
</form>
<button>submit</button>
jq代码:
$(document).ready(function(){
$("button").on('click',function(){
$.post(
'url',
$("#form").serialize(),//data
function(response){
//成功或者失败操作
},'json');
//或者用ajax/get
});
});
以php为例子写后台代码:
//get也行
$post['id'];//1
$post['name'];//user
$post['phone'];//189
$post['address'];//bj
好了看到这,在解释一波!
在form表单中,他自带一个函数(序列化函数)serialize()。这个函数会自动把name属性和对应的value匹配起来。如果用get方式提交就会看见如下格式:id=1&name=user&phone=189&address=bj.
post提交就是:[‘id’]=1,[‘name’]=’user’,[‘phone’]=189,[‘address’]=’bj’.
序列化函数的使用要小心。要求form表单形式,而且每一个元素都要求有name。多个相同name后者覆盖前者!
有错误请指证,如有大牛请留个套路以备绕坑!