Уроки:


  
HTML
  
  
CSS
  
  
PHP
  
  
JavaScript
  
  
jQuery
  
  
PHP+MySQL
  
  
Ajax
  

  Разделы:


  В помощь:


  Ещё:



  Авторизация:


  логин:   
  пароль: 
— Вчера долго пытался объяснить бабуле, что работаю программистом...
— ???
— Короче, сошлись на том, что чиню телевизоры и развожу мышей...

  Тренажер интуиции:


Тренажер интуиции


  Видеокурсы:


Бесплатный видеокурс: "Cайт-визитка за 1 день"

видеокурс: Сайт-визитка за один день



  Опрос:



  Топ комментаторов:


40

— Вчера долго пытался объяснить бабуле, что работаю программистом...
— ???
— Короче, сошлись на том, что чиню телевизоры и развожу мышей...

  Моя группа в контакте:



Обработка ответа, Ajax

В предыдущем примере мы сделали функцию запроса к серверу. Но она, по сути, небезопасна, так как мы не обрабатываем состояния объекта и состояния ответа от сервера.

Дополним наш код, чтобы он смог выводить визуальное оповещение о процессе загрузки.

...
Request.onreadystatechange = function()
{
  //Если обмен данными завершен
 if (Request.readyState == 4)
 {
  //Передаем управление обработчику пользователя
 r_handler(Request);
 }
 else
 {
  //Оповещаем пользователя о загрузке
 }
}
...

Как вы уже знаете, объект XMLHttpRequest позволяет узнать статус ответа от сервера. Воспользуемся этой возможностью.

...
Request.onreadystatechange = function()
{
  //Если обмен данными завершен
 if (Request.readyState == 4)
 {
 if (Request.status == 200)
 {
  //Передаем управление обработчику пользователя
 r_handler(Request);
 }
 else
 {
  //Оповещаем пользователя о произошедшей ошибке
 }
 }
 else
 {
  //Оповещаем пользователя о загрузке
 }
}
...

Варианты ответа от сервера

От сервера можно получить данные нескольких видов:

1. Обычный текст
2. XML
3. JSON

Если вы получаете обычный текст, то вы можете сразу же направить его в контейнер, то есть на вывод. При получении данных в виде XML вы должны обработать данные с помощью DOM-функций, и представить результат с помощью HTML.

JSON - это объектная нотация Javascript. С ее помощью можно представить объект в виде строки (здесь можно привести аналогию с функцией сериализации). При получении JSON-данных вы должны выполнить их, чтобы получить полноценный объект Javascript и произвести с ним необходимые операции. Помните, что такая передача данных и выполнение их не являются безопасными. Вы должны следить за тем, что поступает на исполнение.

Пример кода JSON:
{
"data":
{
 "misc":
 [
 {
 "name" : "JSON-элемент один",
 "type" : "Подзаголовок 1"
 },
 
 {
 "name" : "JSON-элемент два",
 "type" : "Подзаголовок 2"
 }
 ]
}
}

При получении такого кода, производим следующее действие:

eval("var responsedata=("+Request.responseText+")");

После выполнения данного кода вам будет доступен объект responsedata.

Работа с серверными языками программирования

Такая работа ничем не отличается от обычной. Для примеров я возьму PHP в качестве серверного языка. В клиентской части ничего не изменилось, но серверная часть теперь представлена PHP-файлом.

По традиции, начнем с приветствия нашему замечательному миру:

<?php

echo "Привет, Мир!";

?>

При обращении к этому файлу клиенту вернется строка Привет, Мир! Как вы понимаете, это представляет широчайшие возможности для построения приложений. На основе передачи аргументов при вызове сервера с помощью XMLHttpRequest можно сделать параметризацию вывода, тем самым обеспечив обширную функциональность Web-приложения.

Помимо PHP, можно использовать любой другой серверный язык программирования.

1 2 3

Проверьте свою интуицию:


Мобильную версию можно скачать в google play

Комментарии


Нет комментариев. Вы можете стать первым !

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



Почта: info@web-shpargalka.ru
Сообщить друзьям:
Главная | Форум | Отзывы | Обо мне | Мои курсы | Работы учеников | Конкурсы | Обратная связь