jQuery и Ajax: запросы

Разработчики фрэймворка jQuery дали нам возможность использовать все прелести ajax-запросов без глубокого понимания сущности процессов, которые происходят во время выполнения запросов. Насколько это хорошо или плохо, вопрос очень неоднозначный, но раз такая возможность у нас всеже есть, так давайте будем ей пользоваться и ближе познакомимся с запросами ajax...

Ниже приведен перечень некоторых возможных запросов и все пояснения к примерам.

load( url,
, [callback] ) - данная функция загружает HTML из текстового файла и вставляет его в DOM модель документа. По умолчанию функция load (без [data]) выполняется как GET-запрос, но в случае, если будут переданы какие-либо данные, выполнится как POST-запрос. Начиная с версии jQuery 1.2 в url можно определить селектор jQuery, например так:	
[JS]$("#example").load("../ li.cat_items");

При выполнении данного запроса, будут выбраны все элементы li с классом cat-items в запрашиваемом url и загружены в элемент с идентификатором example.

Здесь url - загружаемый url, data (опциональное значение) - пары ключ/значение, которые могут быть переданы серверу, callback (опциональное значение) - функция, которая будет вызвана при окончании запроса, даже если запрос выполнен не успешно.
Еще пара примеров:
$("#test").load("../primer.php");

Загружает файл primer.php в элемент с идентификатором test.
$("#test").load("../primer.php", {limit: 50},
function(){
alert("Последние 50 записей загружены");
});

То же самое, но дополнительно передается пара ключ/значение limit:50 и задается функция, которая вызывается по окончанию выполнения запроса. Если вы собираетесь этим летом декарями поехать отдыхать, то Вам просто необходимо посетить магазин http://spincasting.ru/ в котором можно купить все необходимые товары для туризма и рыбалки оптом со склада в Москве.

jQuery.get( url,
, [callback] ) - функция загружает страницу при помощи GET-запроса. Это один из самых простых способов передачи GET-запроса серверу. Эта функция позволяет использовать функции, которые могут быть вызваны при окончании выполнения запроса. Но в отличие от функции load, функция [callback] будет вызвана только при успешном выполнении запроса. Если возникнет необходимость определить функцию при ошибке запроса, лучше обратиться к $.ajax.
Несколько примеров:
[JS]$.get("../test.php");

Данный код запрашивает файл test.php, и игнорирует возвращаемый результат.
$.get("../test.php", { name: "Vasya", age: "27" } );

Запрашивает test.php и передает некоторые дополнительные параметры, но игнорирует возвращаемый результат.
$.get("../test.php", function(data){
alert("Данные загружены: " + data);
});

Передает результат запроса в переменную data в alert без передачи параметров к файлу test.php.
$.get("../test.php", { name: "Vasya", age: "27" }, function(data){
alert("Данные загружены: " + data);
});

Полный набор: GET-запрос к файлу test.php с передачей некоторых параметров и возвращаемый результат передается в alert.

jQuery.post( url, [data], [callback], [type] ) -функция загружает страницу используя POST-запрос. Все почти так же, как и в примере выше, поэтому обойдемся без примеров. Но в этой функции необходимо обратить внимание на один опциональный параметр - [type],в котором можно определить тип передаваемых данных серверу - JSON, XML и т.п.

jQuery.getJSON( url, [data], [callback] ) - функция загружает данные в формате JSON используя GET-запрос. Начиная с версии jQuery 1.3 можно загружать данные в JSON с другого доменного имени.

jQuery.getScript( url, [callback] ) - загружает и выполняет JavaScript файлы, используя GET запрос. Начиная с версии jQuery 1.2 Вы можете загружать и выполнять JavaScript файлы с любого домена.

jQuery.ajax( options ) - функция загружает страницу используя HTTP запрос. $.ajax() принимает один аргумент - объект, состоящий из пар ключ/значение, которые использует, чтобы инициализировать и обработать ajax-запрос. Ниже приведен список возможных значений.

async - по умолчанию все запросы выполняются в асинхронном режиме (значение true). Если необходимо выполнить синхронный запрос, следует установить значение false для этой опции. Синхронный запрос может временно заблокировать браузер.

beforeSend - функция которая будет вызвана до передачи запроса.

cache - опция добавлена в jQuery 1.3. По умолчанию - true. Если установить в false, то запрашиваемая страница не будет кэшироваться браузером.

complete -функция которая будет вызвана по окончанию выполнения запроса (успешного и ошибочного выполнения). Принимает два аргумента: объект XMLHttpRequest и строку, описывающую "успешность" запроса.

contentType - при передаче данных серверу сообщает content-type. По умолчанию - application/x-www-form-urlencoded.

data - данные, передаваемые на сервер. Могут быть объектом или строкой. Конвертируются в строку запроса, если уже не представляют собой строку. Добавляются в URL GET-запроса. Если используется объект, он должен представлять собой пары ключ/значение. Если значения представлены в виде массива, jQuery сериализует значения с некоторым ключом. Например: {foo:["bar1", "bar2"]} будет представлено как "&foo=bar1&foo=bar2".

dataType - строка, описывает тип данных, которые ожидаются в качестве ответа сервера. Если не определена, то jQuery сам попытается определить тип, основываясь на MIME-типе ответа сервера. Доступные типы:

xml: вернет XML документ, который может быть обработан через jQuery.
html: вернет HTML как plain text.
script: расценивает ответ как JavaScript и возвращает его как plain text.
json: расценивает ответ как данные в формате JSON и возвращает JavaScript объект.
jsonp: загружает данные в формате JSON используя JSONP. Необходимо дополнительно добавить "?callback=?" в конец строки запроса в URL, чтобы определить вызов. (Добавлено в jQuery 1.2).
text: строка plain text.

error - функцию которая будет вызвана в случае неуспешного выполнения запроса.

global - true или false. Вызывать или нет глобальные обработчики событий Ajax для этого запроса. Может быть использована для контроля различных Ajax событий. По умолчанию - true.

ifModified - запрос будет успешным только в случае, если данные ответа изменились со времени последнего запроса. По умолчанию - false.

processData - по умолчанию true. В опции data данные представлены в виде объекта, который преобразуется в строку запроса, подходящую для content-type по умолчанию - "application/x-www-form-urlencoded". Если необходимо иное, установите опцию processData в false.

success - указывается функция, которая будет вызвана в случае успешного завершения запроса. Функция принимает два аргумента: данные, возвращенные с сервера и отформатированные с учетом параметра dataType и строка, описывающая статус ответа.

timeout - устанавливает локальный тайм-аут для запроса в миллисекундах. Отменяет глобальный тайм-аут для этого запроса, если тот определен через $.ajaxSetup.

type - тип запроса, POST или GET. По умолчанию установлен GET. Типы запроса PUT или DЕLЕTE тоже могут быть использованы, но они поддерживаются не всеми браузерами.

url - просто url запроса.
Добавлено: 16 Августа 2013 06:03:56 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...