2013-12-08 59 views
0

有對象的一個​​這樣的數組:發送對象的數組到PHP函數jQuery.ajax要求

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

我們如何發送此數組PHP函數jQuery.ajax要求,反之亦然,從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

你在哪裏卡住了?檢查任何tuto關於如何使用ajax發送數據... –

+1

建設性的評論!第一次被問及一拳:( – camiluslim

回答

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 
    } 
} 
+0

)我使用$ .ajax的簡寫形式是$ .post ..我喜歡它因爲它更容易,通常不需要更多的功能......通常! –

+0

是JSON.stringify()JavaScript函數嗎? – camiluslim

+0

謝謝你,奧馬爾阿里!你告訴我,在轉換爲JSON之前,該數組將被放置在對象之前 – camiluslim