Содержание:
jQuery.post( url [, data ] [, success ] [, dataType ] )Возвращает: jqXHR
Описание: Загружает данные с сервера при помощи HTTP POST запроса.
-
Добавлен в версии: 1.0jQuery.post( url [, data ] [, success ] [, dataType ] )
-
urlТип: StringСтрока с URL адресом, на который будет отправлен запрос.
-
dataТип: PlainObject или StringОбъект или строка, которые будут отправлены на сервер вместе с запросом.
-
successФункция обратного вызова, которая выполняется если запрос успешно завершается. Требуется если указан аргумент
dataType
, но может быть задан какnull
в таком случае. -
dataTypeТип: StringТип данных ожидаемый от сервера. По умолчанию: распознается по полю Content-Type заголовка ответа сервера, поддерживаются: xml, json, script, text, html.
-
-
Добавлен в версии: 1.12/2.2jQuery.post( [settings ] )
-
settingsТип: PlainObjectАссоциативный массив с настройками Ajax запроса. Все параметры опциональны, исключая
url
. Значения по умолчанию могут быть установлены при помощи метода $.ajaxSetup(). Смотрите подробнее описание всех возможных параметров на странице jQuery.ajax( settings ). Тип запроса автоматически будет установлен в значениеPOST
.
-
Это сокращенная Ajax функция, которая эквивалентна следующему коду:
1
2
3
4
5
6
7
|
|
В функцию обратного вызова success
передаются полученные данные, которые могут быть XML документом или строкой в зависимости от MIME типа ответа. Также передается текстовый статус ответа.
Начиная с jQuery 1.5, в функцию success
также передается "jqXHR" object (в jQuery 1.4 и ранее, передавался объект XMLHttpRequest
).
В большинстве случаев обработчик success указывают:
1
2
3
|
|
В это примере полученный из запроса HTML код вставляется в элемент на странице.
Страницы запрошенные при помощи POST
никогда не кэшируются, поэтому опции cache
и ifModified
в jQuery.ajaxSetup()
не будут иметь никакого эффекта для таких запросов.
Объект jqXHR
Начиная с jQuery 1.5, все Ajax методы jQuery возвращают объект XMLHTTPRequest
. Объект jQuery XHR или "jqXHR," возвращается $.get()
реализацией интерфейса Promise и предоставляет все его свойства, меоды и повередени Promise в целом (смотрите Deferred object для справки). Методы jqXHR.done()
(успех), jqXHR.fail()
(ошибка), and jqXHR.always()
(для гарантированного обработчика, не зависимо от успеха или ошибки ответа, добавлен в версии jQuery 1.6) принимают функцию, которая вызывается когда запрос завершается. Аргументы этих функция описаны на странице jqXHR Object в разделе $.ajax()
справки.
Интерфейс Promise также разрешает Ajax методам, включая $.get()
, вызывать неоднократно по цепочке методы .done()
, .fail()
и .always()
для одного запроса и даже назначать его обработчики, даже после того как запрос был завершен. Если запрос уже выполнен, то функция обратного вызова выполняется немедленно.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
|
Уведомление об устаревании
Функции обратного вызова jqXHR.success()
, jqXHR.error()
, and jqXHR.complete()
удалены в jQuery 3.0. Используйте методы jqXHR.done()
, jqXHR.fail()
и jqXHR.always()
вместо них.
Дополнительные примечания:
- Из-за ограничений безопасности браузера большинство "Ajax" запросов подпадают под действие политики того же происхождения, запросы не могут быть выполнены к другим доменам, поддоменам, порту или протоколу.
-
Если запрос jQuery.post() возвращает код ошибки, то он будет выполнен тихо, до тех пор пока не будет вызван глобальный .ajaxError() метод. В качестве альтернативы, начина с jQuery 1.5, метод
.error()
в объектеjqXHR
возвращаемый jQuery.post() также доступен для обработки ошибок.