Данная функция - простейший метод отправить POST запрос на сервер без использования комплекса $.ajax функциональности. Функция позволяет выполнять обратный вызов (callback функцию), которая будет выполнена после завершения запроса (и если запрос вернёт корректный код). Возвращаемый тип данных может быть обозначен в 4 параметре. Если вам нужны оба – и error и success, вы можете использовать $.ajax. Функция $.post представляет собой упрощенную функцию от метода $.ajax.
Данный метод является упрощенным аналогом метода $.ajax:
$.ajax({
type: 'POST',
url: url,
data: data,
success: success
dataType: dataType
});
Простейший способ использовать данный метод:
$.post('ajax/test.html', function(data) {
$('.result').html(data);
});
Страницы, загружаемые по типу POST, никогда не кэшируются, поэтому использовать опции cache и ifModified в методе jQuery.ajaxSetup() не имеет смысла для данного метода.
В jQuery 1.5 созданы возможности добавления очередей, которые будут выполнны по цепочке друг за другом. Данное изменение основанно на интерфейсе Promise. В результате методы .success(), .complete(), .error() могут быть вызваны другом за другом в порядке созданной очередности:
Использование нескольких обработчиков для единичного вызова ajax:
// пивязываем обработчики к моменту завершения ajax запроса,
// передавя при этом jqxhr объект, созданный в из запроса
var jqxhr = $.post({ url: "example.php" })
.success(function() { alert("success"); })
.error(function() { alert("error"); })
.complete(function() { alert("complete"); });
// ваш код
// устанавливаем дополнительню функцию обратного вызова
jqxhr.complete(function(){ alert("second complete"); });
Пример:
Запрос test.php страницы, ответ игнорируется.
Пример:
Запрос test.php страницы совместно с отправлением дополнительных данных (до сих пор ответ игнорируется).
"jQuery"
jQuery.post("test.php", { name: "John", time: "2pm" } );
Пример:
Передать массив данных на сервер (до сих пор ответ игнорируется).
"jQuery"
jQuery.post("test.php", { 'choices[]': ["Jon", "Susan"] });
Пример:
Вывести диалоговое окно с результатом ответа от test.php (HTML или XML, в зависимости от того, что было возвращено).
"jQuery"
jQuery.post("test.php", function(data){
alert("Data Loaded: " + data);
});
Пример:
Вывести диалогоове окно ответа от test.php с отправкой дополнительных данных (HTML или XML, в зависимости от того что было возвращено).
"jQuery"
jQuery.post("test.php", { name: "John", time: "2pm" },
function(data){
alert("Data Loaded: " + data);
});
Пример:
Получить содержание страницы test.php, сохранив его в XMLHttpResponse объекте и применить функцию process().
"jQuery"
jQuery.post("test.php", { name: "John", time: "2pm" },
function(data){
process(data);
}, "xml");
Пример:
Получить содержание test.php в формате json
(файл php должен содержать: <?php echo json_encode(array("name"=>"John","time"=>"2pm")); ?>)
"jQuery"
jQuery.post("test.php", { func: "getNameAndTime" },
function(data){
alert(data.name); // John
console.log(data.time); // 2pm
}, "json");