2014-01-20 46 views
2

我正在使用jquery Nestable(http://dbushell.github.io/Nestable/)。php json_decode和jquery嵌套

我想,当我改变我的嵌套元素以便从中截取数据..

$('.dd').nestable().on('change', function() { 
    var json_text = $('.dd').nestable('serialize'); 
    $.post("/includes/processes/core.php", { 
    cmd: 'nestable', 
    table: table, 
    data: json_text 
    }, function(response){ 
    alert(response); 
    }); 
}); 

在core.php中我做:

$data = $_POST['data']; 
$data = json_decode($data, true); 
function parseJsonArray($jsonArray, $parentID = 0) { 
    $return = array(); 
    foreach ($jsonArray as $subArray) { 
    $returnSubSubArray = array(); 
    if (isset($subArray['children'])) { 
    $returnSubSubArray = parseJsonArray($subArray['children'], $subArray['id']); 
    } 
    $return[] = array('id' => $subArray['id'], 'parentID' => $parentID); 
    $return = array_merge($return, $returnSubSubArray); 
    } 
    return $return; 
} 

$readbleArray = parseJsonArray($data); 

比我操纵这个数组,但我不能去,因为反应是:

"json_decode() expects parameter 1 to be string, array given in core.php on line (where is "$data = json_decode($data, true;")" 

如果我改变json_decode($的数据,真)与json_encode($ d ATA),这是响应:

"Invalid argument supplied for foreach() in core.php on line (where is "foreach ($jsonArray as $subArray);")" 

请帮助我..

+0

尝试查看var_dump($ _POST);它应该提供一些洞察力,让你自己调试这个 – RyanS

+0

$ data是一个数组,也许你可以立即使用这个数组 – friedi

+0

谢谢...林试... –

回答

1

尝试删除这条线,因为$。员额没有做JSON编码。

$data = json_decode($data, true); 
+0

谢谢...... !! ! –