Сохранение данных jquery json в базе данных

#php #database #json #post #save

#php #База данных #json #Публикация #Сохранить

Вопрос:

У меня большая проблема, мне нужно сохранить упорядоченный список AJAX в виде меню, я нашел скрипт здесь: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"  
  

Что мне нужно, так это иметь возможность сохранять идентификатор, родительский идентификатор и порядок. Кажется, я не могу сохранить их в базе данных.

Я знаю, что мне нужен php-файл для сохранения данных в базе данных, но я не знаю, как передать данные в этот php-файл. Вот с чем мне нужна помощь, как я могу передать данные в файл php в этом случае?

Спасибо, Дэн

Комментарии:

1. Это то, что он сказал. AJAX — асинхронный javascript

Ответ №1:

С помощью 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 с помощью: $json = $_POST['data'] и преобразовать их с помощью json_decode($json, true) в ассоциативный массив.

Если вы столкнетесь с какими-либо проблемами при запуске скрипта Javascript, вам следует взглянуть на функции отладки, предоставляемые Firebug.

Ссылки: