通过$ .post数据+序列化表单发送

时间:2011-01-05 15:19:27

标签: jquery

我想做这样的事情(伪代码):

<form id='f1'>
<input type='text' name='t1'/>
<input type='text' name='t2'/>
<input type='text' name='t3'/>
</form>

var ids=[9,32,45];
$.post(
"test.php", 
{$("#testform").serialize(), page: 7, ids: ids}, 
function(){ alert('success!'); }
);

在服务器端我想从表单+页面和ids

获取字段

有可能吗?

1 个答案:

答案 0 :(得分:7)

您需要使用.serializeArray()创建值数组(其中.serialize()创建一个字符串)然后在用作$.post()data参数之前添加到该数组中,像这样:

var data = $("#testform").serializeArray();
data.push({ name: "abc", value: "1" });
data.push({ name: "ef", value: "3" });
$.post("test.php", data, function(){ alert('success!'); });

然后传入数组,就像传入一个对象一样,然后在内部调用$.param(),将其转换为POST查询的数据字符串。