2014-06-10 48 views
1

我有兩個簡單的腳本。一個客戶端jQuery的multidim陣列&服務器端的PHP腳本。在PHP $數據保持空。發送帶有ajax的多維數組數據到一個php腳本

jQuery的

console.log("IN JQUERY"); 
console.log(inps); 

$.ajax({ 
    type:   'post', 
    cache:   false, 
    url:   './gen.php', 
    data:   inps, 
    success: function(response){ 
    console.log("RESPONSE"); 
    console.log(response); 
    } 
}); 

gen.php

<?php 
$data = file_get_contents('php://input'); 
$data = json_decode($data, true); 
print_r($data); 
?> 

Firefox的控制檯輸出

>POST ..././gen.php [HTTP/1.1 200 OK 1ms] 
>"IN JQUERY" 
>{isbranch: "1", ismanager: "0", isdept: "1"} 
>"RESPONSE" 
>"" 

有沒有辦法送多維數組與AJAX的PHP不劈裂陣?

+0

你從var_dump($ _ POST)得到了什麼;'? – kero

+0

@kingero確切控制檯輸出: 「

null 
」 – user2102266

回答

2

您應該使用JSON.stringify來編碼數據之前發送,也比較好正確的contentType添加到它:

$.ajax({ 
    type:   'post', 
    cache:   false, 
    url:   '/gen.php', 
    data:   JSON.stringify(inps), 
    contentType: 'application/json', 
    success: function(response){ 
    console.log("RESPONSE"); 
    console.log(response); 
    } 
}); 
+0

...完美 「IN JQUERY」 測試:515 {isbranch: 「0」,IsManager的: 「1」,isdept: 「0」}試驗:516 「RESPONSE 「測試:525 」陣列 ( [isbranch] => 0 [IsManager的] => 1 [isdept] => 0 ) 「 – user2102266

0

的鍵值對應該已經存在於您的$_POST

$isbranch = $_POST['isbranch']; 
$ismanager = $_POST['ismanager']; 
$isdept = $_POST['isdept'];