jQuery.get( url, [ данные ], [ success(данные, текстСтатус, jqXHR) ], [ типДанных ] )
Аргументы
jQuery.get( url, [ данные ], [ success(данные, текстСтатус, jqXHR) ], [ типДанных ] )
$.ajax({ url: url, data: data, success: success, dataType: dataType });
Функция обратного вызова success передает возвращаемые данные, которые будут корневым элементом XML, строкой текста, файлом JavaScript, или объектом JSON, в зависимости от типа ответа MIME.Она также посылает статус ответа.
Начиная с jQuery 1.5, функция обратного вызова success также передает объект "jqXHR" (в jQuery 1.4, она передавала объект XMLHttpRequest). Однако, поскольку JSONP и кросс-доменные запросы GET не используют XHR, в этих случаях параметры (j)XHR и textStatus передаваемые в функцию обратного вызова не будут определены.
$.get('ajax/test.html', function(data) { $('.result').html(data); alert('Load was performed.'); });
Объект jqXHR
Начиная с jQuery 1.5, все методы jQuery Ajax возвращают расширенный объект XMLHTTPRequest. Это объект jQuery XHR, или "jqXHR", возвращаемый с помощью $.get() реализует интерфейс Promise, придав ему все свойства, методы и поведение Promise (смотрите Отсроченный объект для полной информации). Для удобства и совместимости с функцией обратного вызова имен, используемых в $.ajax(), он обеспечивает методы .error(), .success() и .complete(). Эти методы принимают аргумент функции, которая вызывается когда запрос завершается, и функция получает те же аргументы, соответственно названиям функции обратного вызова $.ajax().
Интерфейс Promise в jQuery 1.5 также позволяет методам jQuery Ajax, включая $.get(), соединять многочисленные функции обратного вызова .success(), .complete() и .error() на единичный запрос, и даже назначает эти функции обратного вызова после того как запрос может быть завершен. Если запрос уже завершен, функция обратного вызова немедлено вызывается.
// Assign handlers immediately after making the request,
// and remember the jqxhr object for this request
var jqxhr = $.get("example.php", function() {
alert("success");
})
.success(function() { alert("second success"); })
.error(function() { alert("error"); })
.complete(function() { alert("complete"); });
// perform other work here ...
// Set another completion function for the request above
jqxhr.complete(function(){ alert("second complete"); });
Дополнительные примечания:
- Из-за ограничений безопасности браузера, большинство запросов "Ajax" зависит от Правил ограничения домена; запрос не может успешно извлекать данные из другого домена, поддомена или протокола.
- Если запрос с
jQuery.get()возвращает код ошибки, он молча падает, кроме случая, когда сценарий также вызывает глобальный метод .ajaxError(). Начиная с jQuery 1.5, метод.error()объектаjqXHR, возвращаемого с помощьюjQuery.get()также доступен для обработки ошибок. - Скрипт и запросы JSONP не распространяются на Правила ограничения домена.
Примеры
Пример 1
Запрашивает страницу test.php не обращая внимания на результат.
$.get("test.php");
Пример 2
Запрашивает страницу test.php отсылая при этом некоторые дополнительные данные (результат операции все еще игнорируется).
$.get("test.php", { name: "John", time: "2pm" } );
Пример 3
Отсылает массивы данных на сервер (результат операции все еще игнорируется).
$.get("test.php", { 'choices[]': ["Jon", "Susan"]} );
Пример 4
Показывает в сообщении результат запроса страницы test.php (HTML или XML, в зависимости от того, что возвратилось).
$.get("test.php", function(data){
alert("Data Loaded: " + data);
});
Пример 5
Показывает в сообщении результат запроса страницы test.cgi с загрузкой дополнительных данных (HTML или XML, в зависимости от того, что возвратилось).
$.get("test.cgi", { name: "John", time: "2pm" },
function(data){
alert("Data Loaded: " + data);
});
Пример 6
Получает содержимое страницы test.php, которое возвращается в формате json (<?php echo json_encode(array("name"=>"John","time"=>"2pm")); ?>).
$.get("test.php", { "func": "getNameAndTime" },
function(data){
alert(data.name); // John
console.log(data.time); // 2pm
}, "json");

