如何使用ajax将数组值发送到php页面

时间:2015-03-27 09:09:36

标签: php ajax

我正在尝试使用ajax将一些数组值传递给php页面。这是我尝试过的。但它只传递第一个值。不是所有的数组值

<script>
    function priceSub() {
    var price = $("input[name='price[]']").val();

    $.post('db_price.php', {prce:price});
    return true;
    }
 </script>
     <?php   //this is come from another page
            $itemCount = count($_POST["price"]);
            for($i=0;$i<$itemCount;$i++) {
            $op_name=$_POST['price'][$i];

    ?>
    <input type="hidden" value="<?php echo $price;?>" name="price[]" id="price"/>
    <?php
      }
     ?>
    <input type="submit" value="Submit" class="suboderbtn" onclick="return priceSub();"/>

3 个答案:

答案 0 :(得分:0)

您需要知道的第一件事是{prce:price},并使用$_POST['price'],因此您需要使用{price:price}。 但是,您可以通过ajax发送任意数量的数据:

 $.post('db_price.php', {price:price, data1: "value1", data2: "value2",...});

您可以在php脚本中使用$_POST['price']$_POST['data1']$_POST['data2'],...来访问数据。

修改

您无法使用一个文本字段发送数组。为此,您可以使用,分隔值并展开php脚本中的值。例如,文本字段值可以是“value1,value2”。现在您可以使用此代码获取数组值:

$prices = explode(",", $_POST['price']);

现在$prices[0]将为“value1”,$prices[1]将为“value2”。

答案 1 :(得分:0)

尝试使用json_encode函数:

$.post('db_price.php', <?php json_encode($_POST["price"]); ?>);

答案 2 :(得分:0)

这样做是为了发布数组字段 的Javascript

<script>
    function priceSub() {

    var price = $('input#price').serialize();
    console.log(price)
    $.post('db_price.php', {price:price});
    return true;
    }
 </script>

HTML

<input type="hidden" value="10" name="price[]" id="price"/>
<input type="hidden" value="20" name="price[]" id="price"/>