我有一個包含17個複選框的表單。當其中一個變化時,JavaScript應該將值提交給服務器(運行PHP)。PHP獲取JSON字符串作爲數組
我想使用JSON,因爲複選框給其在PHP
在JS被分隔兩個數組,我創建一個JSON字符串,我想通過POST提交和PHP讀取和解碼。 該字符串看起來像這樣的atm:[["2015-06-26","2015-06-27"],["2","3","4","5","6","7","8","9","10","11","12","13","14"]]
- 這就是我想要的。
這是我的AJAX功能樣子:
var fullArray = [dateArray, trackArray];
var jsonFullString = JSON.stringify(fullArray);
//jsonFullString == [["a","b","c"],["d","e","f","g"]]
$.ajax({
type:'POST',
url:'shownitems.php',
data: jsonFullString,
success: function(data){
//More script. This comment is reached, because
alert(data);
// works.
}
});
當我得到它的PHP,並搜索$_POST[0]
在JS成功函數不顯示任何東西。當我搜索$_POST
時,我收到了「Array ..」。
這是我的PHP是什麼樣子(這是我的測試片段):
<?php
echo $_POST;
echo ".";
echo $_POST[0];
echo ".";
echo $_POST[0][0];
$array = array();
?>
我也使用jQuery。
使用'var_dump()'函數打印變量內容以進行調試。沒有$ _POST [0],'echo $ _POST'會打印「Array」,因爲它是一個數組 - 你只會用var_dump($ _ POST)知道里面的內容;' – Sven
返回'array(0 ){}'...我無法獲取數組的內容......即使使用json_decode(); ... –
php無法解析'[[「2015-06-26」,「2015-06-27」],[「2」,「3」,「4」,「5」,「6」,「7 「,」8「,」9「,」10「,」11「,」12「,」13「,」14「]]',則請求後的有效載荷必須是嚴格的鍵值對。 – zerkms