发布jquery .serializeArray();通过ajax输出

时间:2011-02-01 11:53:29

标签: jquery ajax serializearray

快速提问

如果我使用jquery的.serializeArray();函数序列化了一个表单,我是否需要对它进行任何操作才能使用jquery的ajax data:将其发送出去?

e.g。我可以发送

[{name: inp1, value: 'val1'}, {name: inp2, value: 'val2'}]原样,还是我需要以某种方式对其进行预处理?

并且,在php中我怎么读这个?

1 个答案:

答案 0 :(得分:27)

这里使用serialize会更好。这会将表单的值转换为一个简单的字符串,可用作AJAX调用的data属性:

var myData = $('#yourForm').serialize();
// "inp1=val1&inp2=val2"
$.ajax({
    url: "http://example.com",
    data: myData
});

假设您使用GET方法将此发送给PHP,您可以使用$_GET['inp1']$_GET['inp2']

访问这些值

编辑:您可以使用$.paramserializeArray生成的数组转换为参数字符串

var myData = $('#yourForm').serializeArray();
// remove items from myData
$.ajax({
    url: "http://example.com",
    data: $.param(myData) // "inp1=val1&inp2=val2"
});