2011-04-11 52 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提供的調試功能。

參考文獻: