$ .post - 从javascript到php的数组

时间:2013-10-06 06:16:58

标签: javascript php jquery ajax

我在javascript中有这个数组:

arr = [1, "string", 3]

这就是我的ajax电话:

$.post("./ajax_book_client.php",
        {'client_info[]': arr},
    function(data) {
          // some stuffs here
        }
});

这是php的摘录:

<?php 
    $arr = $_POST['client_info'];

    // I want to access the array, indexed, like this:
    $arr[0] = 2;
    $arr[1] = "Hello";
    $arr[2] = 10000;

?>

但是我收到了这个错误:

  

未捕获的TypeError:非法调用jquery-1.8.3.min.js:2

这样做的正确方法是什么? 谢谢!

4 个答案:

答案 0 :(得分:2)

}删除});以删除语法错误。

也无需将[]client_info一起使用,以便将其删除。

使用:

<script>
var arr = [1, "string", 3];
$.post("./ajax_book_client.php",
        {'client_info': arr},
    function(data) {
          // some stuffs here
        }
);
</script>

ajax_book_client.php

<?php 
    $arr = $_POST['client_info'];

    echo $arr[0];
    echo $arr[1];
    echo $arr[2];
?>

答案 1 :(得分:1)

额外的大括号,改变:

$.post("./ajax_book_client.php",
        {'client_info[]': arr},
    function(data) {
          // some stuffs here
        }
});

$.post("./ajax_book_client.php",
        {'client_info[]': arr},
    function(data) {
          // some stuffs here
       // } <--remove this
});

答案 2 :(得分:0)

您的JS中存在语法错误。删除一个}

答案 3 :(得分:0)

client_info[]移至client_info和额外大括号

尝试

<script>
var arr = [1, "string", 3];
$.post("./ajax_book_client.php",
    {'client_info': arr},
    function(data) {
      // some stuffs here
    }
);
</script>