#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.
Ссылки: