使用jQuery.ajax请求将对象数组发送到PHP函数

时间:2013-12-08 13:14:49

标签: javascript php jquery ajax arrays

有一系列像这样的对象:

rectangle[0].width = w; 
rectangle[0].height = h;
rectangle[1].width = w;
rectangle[2].height = h;
rectangle[3].width = w;
rectangle[3].height = h;
...

我们如何使用jQuery.ajax请求将此数组发送到PHP函数,反之亦然,从PHP函数修改数组作为响应? 我介意JS代码可能是:

request = $.ajax({
                type     : "POST",
                url      : "post.php",
                data     : {rec :rectangle}
            });
request.done(function(msg) { 
    alert(msg);
});
request.fail(function(jqXHR, textStatus) {
        alert("Function inaccessible: " + textStatus)
});

和PHP:

if (isset($_POST["rec"]) {
    $rec = $_POST["rec"];
    $arr_length = count($rec);
    $response = $arr_length;
} 

echo $response;

请证明请求的真实形式。感谢。

1 个答案:

答案 0 :(得分:1)

非常简单:

<script>

var myarray = new Array();

var params = { myarray: myarray };

var paramJSON = JSON.stringify(params);

$.post(
   'test.php',
    { data: paramJSON },
    function(data) {
        var result = JSON.parse(data);
    }

</script>

php side:

if(isset($_POST["data"]))
{
    $data = json_decode($_POST["data"]);
    $myarray = $data->myarray;
    foreach($myarray as $singular)
    {
        // do something
    }
}