2011-04-11 83 views
1

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

感谢, 丹

+0

是他说什么。 AJAX - 异步JavaScript – 2011-04-11 12:33:55

回答

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: data替换data: {var1: value1, var2: value2}

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

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

参考文献: