2013-10-04 125 views
0

我想通過PHP上的array()來自JavaScript,但PHP沒有收到任何東西。它始終將$str設置爲""。爲什麼?從JavaScript傳遞數組到PHP

的JavaScript

var ArrayPassedID = []; 
function pass(){ 
    $.ajax({ 
     url: 'http://mysite/index2.php?task=getPassed', 
     type:'get', 
     dataType:'json', 
     data: {id: JSON.stringify(ArrayPassedID)}, 
     async: false, 
     success: function(response){ 
      ArrayPassedID.push(response.id); 
    } 

.... 

PHP

$str = ""; 
if(!empty($_POST["id"])){ 
    $id = $_POST["id"]; 
    $id = json_decode($id,true); 
    $str = implode(",",$id); 
}  

$data = query(SELECT id, response FROM `conversation` WHERE id not in ('".$str ."')); 
$values = array(); 
$values['id'] = $data['id']; 
$values['response'] = $data['response']; 
return json_encode($values); 
+0

,如果你改變'數據:JSON.stringify({ID:ArrayPassedID});' – DontVoteMeDown

+2

你的Ajax:'類型: '得到','和你PHP'$ _POST' ...改變一個或另一個,看看會發生什麼:) – tymeJV

+0

我see..let我試試.. :) – Snippet

回答

0

從Javascript,您使用HTTP協議的GET方法發送數據。 從PHP,您檢索全球$_POST,這對應於POST方法的數據。 以兩種方式使用相同的方法。

在阿賈克斯(JS)

type:"POST" 
+0

我仍然有問題..我的控制檯就可以了顯示id列表... id不能重複..但我得到64,65,63,62,62,62,63,65,63,63 – Snippet

+0

你可以使用原生PHP函數array_unique刪除重複的id服務器端()http://php.net/manual/fr/function.array-unique.php – Koryonik

+0

得到了問題..它是在SQL查詢...謝謝 – Snippet