PHP SQL
PHP SQL .ru
  Главная  Уроки  PHP  MySQL  jQuery  RegEx  CSS  Книги  Форум  
 Функции


  На главную

  Назад  Вперед

  Печать

Метод load()

В библиотеке jQuery технология AJAX также не оставлена без внимания — здесь предоставляется, пожалуй, самый удобный интерфейс доступа к ней. Реализована поддержка всех подвидов технологии AJAX, а также альтернативный вариант общения браузера с сервером через динамически создаваемый тег < script >. Этот вариант позволяет получать данные не только с того же домена, но и с любого другого при соблюдении некоторых условий. По-лучить с другого домена можно код JavaScript, а также объект в формате JSONP.

При отправке запроса на сервер добавляется заголовок х-requested-with со значением XMLHttpRequest. x-requested-with: XMLHttpRequest

Благодаря этому заголовку на сервере можно определить, откуда поступил запрос.
Узнать, что запрос сделан с помощью AJAX, можно так.
if (isset($_SERVER[“HTTP_X_REQUESTED_WITH”])
ScSc $_SERVER [“ HTTP_X_REQUESTED_WITH “ ] == “ XMLHttpRequest” ) {
// Запрос выполнен с помощью AJAX
}

Метод load () позволяет загрузить данные с сервера в определенный элемент коллекции jQuery. После вставки данных объектная модель документа будет обновлена.
Формат метода:

load(URL [Селектор] [, Данные] [, Функция обратного вызова] )

Загрузить данные можно только с того же домена. Если указан только первый параметр, то запрос будет сделан методом GET.

$("#divl").load("/ajax.php?id=l");

Получить отправленные данные на сервере можно с помощью глобального массива $_GET.

if (isset($_GET[“id”])) $id = $_GET[“id”];

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

<?php
header(“Content-Type: text/html; charset=utf-8”); 
?>
<span id="spanl">Данные l</span> 
<span id="span2">Данные 2</span>

выражение
$ ( #divl ) . load ("/ajax. php") ;
загрузит в элемент с идентификатором divl следующие данные:

<span id="spanl">Данные l</span> 
<span id="span2">Данные 2</span>

Если указать выражение $("#divl")
.load("/ajax.php #span2") ;
то вставляемые данные будут ограничены элементом с идентификатором span2, и мы получим следующие данные:

<span id="span2">Данные 2</span>

Параметр Данные позволяет передать несколько параметров. Для этого параметры и значения должны быть указаны следующим образом.
{
Параметр1: "Значение1",
Параметр2: "Значение2",
Параметры: "ЗначениеЫ"
}
Если параметр Данные указан, то данные передаются методом POST. В случае ес-ли параметры или значения содержат запрещенные символы, то они будут автоматиче-ски перекодированы с помощью метода encodeURI Component ().
$(M#divl").load("/ajax.php", { txt: "Текст" });
Получить отправленные данные на сервере можно с помощью глобального массива $_POST.
if (isset($_POST[“txt”])) $txt = $_POST[“txt”];
В качестве параметра Функция обратного вызова указывается ссылка на функцию следующего формата.
function Название функции(Загруженные данные[, Статус[,
Объект XMLHttpRequest]]) { // ...
}
Функция будет вызвана после окончания загрузки, независимо от ее результата. Внутри функции доступна ссылка (this) на текущий DOM-элемент. Если в первом па-раметре указать переменную, то через нее будут доступны данные, которые загружены с сервера. Через параметр Статус доступен статус запроса. Возвращаются следующие значения:
error — при ошибке;
succcss — при успешном выполнении запроса.
Обработать ошибку загрузки можно, например, так.
$("#divl").load("/ajax.php", { txt: "Текст"
}, function(data, status) {
if (status == “error”) {
$(this).html("Ошибка при загрузке");
Через параметр Объект XMLHttpRequest доступна ссылка на объект XMLHttpRe-quest. Обработать ошибку загрузки с помощью этого параметра можно, например, так.
$("#divl").load("/ajax2.php", { txt: "Текст"
}, function(data, status, XMLHttpRequest) {
if (XMLHttpRequest.status != 200) {
$(this).html("Ошибка при загрузке");
}
});

 
Предыдущая   На главную   Следующая          

Ваш комментарий:

'

Реклама на сайте | Обмен ссылками | Ссылки | Контакты
Добавить статью | Добавить исходник
2010-2014 © phpsql.ru