This article has been localized into Russian by the community.
Методы get() и post()
В jQuery методы get() и post() позволяют с легкостью отправлять HTTP-запросы к странице и получать в ответ результат. Когда вы отправляете форму на сервер, обычно это происходит с помощью GET или POST, а с jQuery вы можете имитировать этот процесс, поскольку есть как метод get(), так и post().
Эти два метода в целом идентичны, поскольку оба они просто вызывают разные типы запроса к серверу. Оба они статические, что означает, что вместо того, чтобы создать экземпляр объекта jQuery и затем работать с ним, мы вызываем методы get() и post() прямо из класса jQuery, либо записав jQuery.get(), либо через сокращенную запись $.get(). В самой простой форме методы get() и post() получают по одному параметру - URL-адрес страницы, которую вы хотите запросить. Однако, в большинстве случаев вам нужно что-то сделать с полученными данными, и на этот случай вы можете передать в качестве параметра callback-функцию, которую jQuery вызовет, если запрос будет выполнен успешно.
Давайте перейдем к тестированию. В предыдущем параграфе, я создал HTML-файл с именем "content.html", который мы загружали с помощью метода load(). При тестировании следующего примера, убедитесь, что у вас есть файл с именем "content.html" в той же директории, из которой вы запускаете пример. Его содержимое не так уж важно, просто напишите в нем что-нибудь. Вот пример использования метода get():
<script type="text/javascript">
$(function()
{
$.get("content.html", function(data, textStatus)
{
alert("Done, with the following status: " + textStatus + ". Here is the response: " + data);
});
});
</script>
Первый параметр - это URL, это просто "content.html". Второй параметр поинтереснее. Это callback-функция, которую jQuery вызывает, когда запрос к странице успешно завершается. Первый параметр колбэка - это просто содержимое запрошенной страницы, а второй параметр содержит текстовый статус запроса.
Конечно, мы можем запрашивать простую HTML-страницу, как в примере выше, но обычно причиной, чтобы использовать запрос GET или POST - это желание передать какие-то параметры, которые будут обработаны сервером, например, частью кода PHP, ASP или ASP.NET, а затем сервер вернет результат. jQuery может использовать мэппинг параметров GET или POST, что мы и попробуем в следующем примере с методом post():
<script type="text/javascript">
$(function()
{
$.post("test_post.php",
{
name: "John Doe",
age: "42"
},
function(data, textStatus)
{
alert("Response from server: " + data);
});
});
</script>
Этот пример во многом похож на первый, но мы делаем запрос POST к другой странице, в примере это PHP-страница, а в качестве второго параметра мы передаем map-объект - это параметры метода POST. Map состоит из двух параметров - name (имя) и age (возраст). Если бы мы использовали запрос GET вместо POST (POST-запросы не принимают параметры из URL, в отличие от GET), то код выше фактически бы соответствовал обращению к следующему URL в браузере:
test_get.php?name=John Doe&age=42
Этот PHP скрипт может считать параметры, обработать их и вернуть результат. Скрипт на сервере просто берет два значения и создает строку "<name> is <age> years old" и потом возвращает ее, вы можете увидеть эту строку если протестируете пример выше.