Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用ajax将数组值发送到php页面_Php_Ajax - Fatal编程技术网

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

如何使用ajax将数组值发送到php页面,php,ajax,Php,Ajax,我正在尝试使用ajax将一些数组值传递到php页面。这是我尝试过的。但它只传递第一个值,而不是所有数组值 <script> function priceSub() { var price = $("input[name='price[]']").val(); $.post('db_price.php', {prce:price}); return true; } </script> <?php //this

我正在尝试使用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();"/>

函数priceSub(){
var price=$(“输入[name='price[]”)val();
$.post('db_price.php',{prce:price});
返回true;
}

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

 $.post('db_price.php', {price:price, data1: "value1", data2: "value2",...});
您可以使用
$\u POST['price']
$\u POST['data1']
$\u POST['data2']
,。。。在php脚本中

编辑:

不能发送带有一个文本字段的数组。为此,可以使用
分隔值,并在php脚本中分解该值。例如,文本字段值可能是“value1,value2”。现在,您可以使用以下代码获取数组值:

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

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

尝试使用json\u encode函数:


$.post('db_price.php',)

发布数组字段时,请执行此操作 Javascript

<script>
    function priceSub() {

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

函数priceSub(){
var price=$('input#price').serialize();
控制台日志(价格)
$.post('db_price.php',{price:price});
返回true;
}
html



使用JSON..您正在发送一个值,对吗?另外,
{prce:price}
应该是
{price:price}
否此文本字段在数组中显示一些价格值。您不能将数组存储在文本字段中。在这种情况下,您需要使用
拆分文本字段值,并分别发送每个值。
<input type="hidden" value="10" name="price[]" id="price"/>
<input type="hidden" value="20" name="price[]" id="price"/>