Домашний кинотеатр Edifier R501 Смешные объявления
Фев 04

Искал Ajax-билиотеку реализующую только необходимый минимум (а именно отправка и получение данных) при етом делающую всю рутинную работу. Остановился на JsHttpRequest, автором которой является Дмитрий Котеров, автор “PHP5 В Подлиннике” и пакета denwer.

Вот чем она рулит:

  • Кроссбраузерность. Библиотека работает в IE5.0+, Mozilla 1.7+, Firefox 1.0+, Opera 7.20+, Safari (здесь “+” означает “в этой и более новых версиях”). Кроме того, код может работать без поддержки ActiveX и XMLHttpRequest (однако, если эти возможности включены в браузер, они автоматически задействуются). Кроссбраузерность гарантируется автоматическим framework-ом для тестирования библиотеки.
  • Поддержка и “прозрачная” работа с любыми кодировками (в том числе русскоязычными). Вы можете писать скрипты так, как привыкли к этому раньше, обо всем остальном позаботится библиотека.
  • Закачка файлов (upload) из браузера на сервер без перезагрузки страницы.
  • Совместимость с библиотекой prototype. Prototype — это популярное средство для упрощения работы JavaScript-программиста, включающее поддержку AJAX и другие возможности. Библиотека JsHttpRequest может быть использована в качестве ее серверной PHP-части (после подключение небольшого модуля совместимости JsHttpRequest-prototype.js). При этом все дополнительные возможности, присущие JsHttpRequest (кроссбраузерность, закачка файлов, работа с русскими кодировками и т. д.), остаются в силе.
  • Полная поддержка отладочных возможностей PHP. Если в скрипте на серверной стороне происходит ошибка (включая фатальную, например, вызов неопределенной функции), клиентская часть имеет возможность корректно ее обработать и вывести диагностику. Помимо данных ответа, ей передается выходной поток скрипта, содержащий текст ошибки PHP.
  • Передача многомерных структур (аналог JSON) в данных запроса и ответа сервера. При этом используются стандартные средства PHP — многомерные массивы (данные запроса можно получить из $_REQUEST, данные ответа записываются в $_RESULT), а также стандартные средства JavaScript — вложенные объекты и свойства. Никакого XML на уровне API: работа происходит “родными” средствами языков.
  • Поддержка сессий PHP стандартными средствами.
  • Выбор оптимального метода загрузки данных (XMLHttpRequest, Microsoft.XMLHTTP, <SCRIPT>, <IFRAME>) в зависимости от браузера. В частности, возможность загружать данные с других хостов.
  • Компонентность библиотеки позволяет отключить ненужные методы загрузки и тем самым сократить объем JavaScript-кода. Например, если вы не планируете закачивать файлы AJAX-ом, вы можете выбрать версию с поддержкой только XML- и SCRIPT-загрузчиков.
  • Интерфейс, совместимый с XMLHttpRequest.

Накатал простенький пример, чтобы разобраться с ее API


Читать также:
    Нет похожих тем

Оставить комментарий