传递帖子数据jquery

时间:2012-10-04 08:25:56

标签: php javascript jquery ajax

我可以'想象一下如何做到这一点。

我有几个隐藏的字段

<input type="hidden" id="order_1" name="order_1" value="1">
<input type="hidden" id="order_2" name="order_2" value="2">
<input type="hidden" id="order_3" name="order_3" value="3">

<input type="hidden" name="ids[]" value="1">
<input type="hidden" name="ids[]" value="2">
<input type="hidden" name="ids[]" value="3">

等。 我的想法是通过像这样的ajax传递数据。

var id = $('input').attr('name')
$.post('http://foobar.com/ajax.php', {ids : ids, order: order}, function(data){

});

我无法弄清楚如何收集数据。

在ajax.php的另一边,我不想得到像这样的值

echo $_POST['order_1'];
echo $_POST['order_2'];
......
etc

4 个答案:

答案 0 :(得分:0)

错误#1

<input type="hidden" id="order_1" name="order_1 value="1">
<input type="hidden" id="order_1" name="order_1 value="1">
<input type="hidden" id="order_1" name="order_1 value="1">

应该是

<input type="hidden" id="order_1" name="order_1" value="1">
<input type="hidden" id="order_1" name="order_1" value="1">
<input type="hidden" id="order_1" name="order_1" value="1">

错误#2

永远不会永远使用相同的ID。使用不同的!也适用于名称属性


错误#3

你传递

$.post('http://foobar.com/ajax.php', {ids : ids

而不是

$.post('http://foobar.com/ajax.php', {ids : id


<强>更新

假设

<input type="hidden" id="order_1" name="order_1" value="1">
<input type="hidden" id="order_2" name="order_2" value="2">
<input type="hidden" id="order_3" name="order_3" value="3">

和js:     var yourArray = [];

$.each($("input[type='hidden']"), function(key, value){
  yourArray.push($(this).attr("name"));
});

将其传递给ajax

$.post('http://foobar.com/ajax.php', {ids : yourArray ...

答案 1 :(得分:0)

我认为您正在寻找.serialize。请参阅api

尝试这样的事情:

var postData = $('input:hidden').serialize();

$.post('http://foobar.com/ajax.php', postData, function(data){

});

请记住,我用于隐藏输入的选择器可以由您更改为更具体,可能使用表单ID。

答案 2 :(得分:0)

这会将您的所有表单数据发布到ajax.php。您必须为<form>标记指定一个ID(在这种情况下,其id ='formId')

$.post('http://foobar.com/ajax.php', $('#formId').serializeArray());

您可以通过以下方式申请ID:

$ids = $_POST['ids'];

答案 3 :(得分:0)

传递值

<input type="hidden" id="order_1" name="order_1" value="1">
<input type="hidden" id="order_2" name="order_2" value="2">
<input type="hidden" id="order_3" name="order_3" value="3">

<input type="hidden" name="ids[]" value="1">
<input type="hidden" name="ids[]" value="2">
<input type="hidden" name="ids[]" value="3">


var ids_arr = new Array();
 $("input[name='ids[]']").each(function() {
    ids_arr.push( $(this).val() );
 });
$.post('http://foobar.com/ajax.php', {"ids" :ids_arr , "order_1": $('#order_1').val(),"order_2":$('#order_2').val(),"order_3":$('#order_3').val()}, function(data){

});

获取php端的值

echo $_POST['order_1'];
echo $_POST['order_2'];
echo $_POST['order_3'];
var_dump($_POST['ids']);