Ajax запрос методом POST

jQuery.post() – осуществляет запрос к серверу без перезагрузки страницы методом POST. Функция имеет несколько необязательных параметров.

  • url — url-адрес, по которому будет отправлен запрос.
  • data — данные, которые будут отправлены на сервер. Они должны быть представлены в форме объекта, в формате: {fName1:value1, fName2:value2, …}.
  • callback (data, textStatus, jqXHR) — пользовательская функция, которая будет вызвана после ответа сервера.
    • data данные, присланные с сервера.
    • textStatus статус того, как был выполнен запрос.
    • jqXHR объект jqXHR (в версиях до jquery-1.5, вместо него использовался XMLHttpRequest)
  • dataType — ожидаемый тип данных, которые пришлет сервер в ответ на запрос (подробности тут).

Отправка данных методом POST. Простое использование

Простейший ajax-запрос — пустой запрос к серверу, без обработки ответа. Например, такой запрос можно использовать для подсчета количества определенных действий, например количества кликов по ссылке — каждый раз при клике по определенной ссылке в файле click.php будет выполняться запись в базу:

Рассмотрим еще несколько примеров по принципу от простого к более сложному.

  1. Отправим серверу id ссылки по которой был совершен клик
  2. Отправим серверу id ссылки по которой был совершен клик и примем ответ — сколько всего кликов было именно по этой ссылке

    После получения ответа от сервера будет вызвана функция viewResult, которая выведет на экран сообщение с данными, присланными сервером.
  3. Отправим серверу id ссылки по которой был совершен клик и примем ответ в json формате

Отправка данных методом POST. Продвинутое использование

$.post является сокращенным вариантом функции $.ajax(), вызванной со следующими параметрами:

Обработка выполнения запроса

Стандартным средством обработки успешного выполнения запроса, является указание собственной функции в параметре success. При вызове она получает данные переданные сервером, текстовый статус выполнения запроса, а так же Объект jqXHR.
Начиная с jQuery-1.5, метод $.post() возвращает объект jqXHR, который помимо прочего реализует интерфейс deferred, что позволяет задавать дополнительные обработчики выполнения. Помимо стандартных для объекта deferred методов .done(), .fail() и .then(), с помощью которых можно устанавливать обработчики, в jqXHR реализованы .success(), .error() и .complete(). Это сделано для соответствия привычным названиям методов, с помощью которых устанавливаются обработчики выполнения ajax-запросов.

Примечание:

jqXHR.success(), jqXHR.error(), и jqXHR.complete() обработчики выполнения будут удалены в jQuery 3.0. Вместо этого вы можете использовать jqXHR.done(), jqXHR.fail() и jqXHR.always().

 

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *