0

我在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;

?>

但我得到这个错误:

未捕获的类型错误:非法调用 jquery-1.8.3.min.js:2

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

4

4 回答 4

2

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

也不需要使用[]withclient_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];
?>
于 2013-10-06T06:28:34.227 回答
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
});
于 2013-10-06T06:28:53.447 回答
0

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

于 2013-10-06T06:27:56.217 回答
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>
于 2013-10-06T06:33:08.643 回答