将jquery json数据保存在数据库中

时间:2011-04-11 12:09:20

标签: php database json post save

我有一个大问题,我需要将一个AJAXed有序列表保存为菜单,我在这里找到了一个脚本:http://www.prodevtips.com/2010/03/07/jquery-drag-and-drop-to-sort-tree/它工作得很好,除了我需要将它保存到我的数据库并且作者说你可以用JSON做到这一点。以下是他说可以处理和保存数据的部分。

$("#save").click(function(){
        /*
        var tree = $.toJSON(parseTree($("#tag_tree")));
        $.post("@saveTags", {tags: tree}, function(res){
            $("#printOut").html(res);
        });
        */
        $.debug.print_r(parseTree($("#tag_tree")), "printOut", false);
    }); 

调试输出如下数组:

'0' => "Economics"
    '1' => "Blogging"
    '2' => "General Dev"
    '3' => "Japan"
    '4' ...
        '0' => "Productivity"
        '1' ...
            '0' ...
                '0' => "Humanities"
    '3' => "CMS"  

我需要的是能够保存id,父ID和顺序。似乎我无法将它们保存到数据库中。

我知道我需要一个php文件来保存数据到数据库,但我不知道如何将数据传递给该php文件。这是我需要的帮助,在这种情况下如何将数据传递给php文件?

谢谢, 丹

1 个答案:

答案 0 :(得分:3)

使用jQuery AJAX调用非常简单。我们来看看jQuery脚本。

$.ajax({
    url: "file.php",
    type: 'POST',
    data: {var1: value1, var2: value2},
    dataType: 'json',
    success: function() {}
    error: function() {}
});

其中“file.php”是将处理数据的PHP文件的名称。 'POST'是用于发送数据的方法类型(GET稍微容易破解,但使用起来要快一点。你必须自己决定)。然后数据可以是一切。建议您使用JSON作为数据类型,然后您可以轻松地设置var data = {var1: value1, var2: value2}之类的内容,然后将data: {var1: value1, var2: value2}替换为data: data

然后在file.php中,您可以使用:$json = $_POST['data']恢复JSON字符串,并将其与json_decode($json, true)转换为关联数组。

如果您在运行Javascript脚本时遇到任何问题,您应该查看Firebug提供的调试功能。

参考文献: