Интеграция AJAX и PHP - PullRequest
       23

Интеграция AJAX и PHP

8 голосов
/ 05 октября 2008

Я некоторое время писал веб-приложения на PHP и наткнулся на очень хорошие фреймворки Javascript, такие как JQuery, ExtJS, Scriptaculous и т. Д. Я не могу сказать то же самое о стороне PHP - я всегда кодировал это часть диалога клиент-сервер с нуля.

Я использовал CodeIgniter (http://codeigniter.com/), и это хорошо, но не имеет отношения к AJAX в целом - скорее обеспечивает проверку ввода, манипулирование изображением и некоторые помощники вывода.

Существует ли стандартная библиотека / класс / фреймворк PHP, которая занимается / интегрируется с фреймворками Javascript? Что-то, что может отлавливать ответы / запросы пользователей, проверять идентичность и вводимые данные, обеспечивать состояние прогресса, отслеживать сеансы, быть в курсе асинхронных событий и т. Д.

Ответы [ 9 ]

9 голосов
/ 05 октября 2008

Zend Framework 1002 * интегрирован с Dojo Toolkit . Я еще не использовал последнюю версию Zend Framework, но я знаю, что в прошлом она доказала свою надежность.

4 голосов
/ 05 октября 2008

Может быть один, но я не могу себе представить, почему. AJAX-запрос выглядит и действует как HTTP-запрос с точки зрения сервера. Вы можете получить и установить куки. Все переменные среды, которые вы ожидаете от HTTP-запроса, находятся там. Все HTTP-глаголы работают так же, как и любые поля заголовка.

3 голосов
/ 05 октября 2008

В следующем основном выпуске 1.5 CakePHP будет поставляться с jQuery.

2 голосов
/ 05 октября 2008

Использование библиотеки удобно для удобства, когда вы понимаете концепцию, и вы, вероятно, понимаете, но для других, читающих это, я предлагаю сначала сделать это вручную несколько раз и действительно понять это. Я также рекомендую книгу Пуленепробиваемый AJAX . Он довольно короткий, хорошо написан и описывает не только то, как использовать AJAX, используя PHP в качестве языка программирования, но также и как создавать страницы, которые используют преимущества AJAX, но все еще работают нормально, если у пользователя отключен JavaScript.

2 голосов
/ 05 октября 2008

Sajax - одна из ряда библиотек, которые предоставляют простой способ связать обратные вызовы от клиентской (JS) к серверной (PHP). Другая библиотека, которая делает что-то подобное, - это JPSpan, но я не уверен, что она все еще активно поддерживается. Я провел только небольшие эксперименты с этими двумя библиотеками, поэтому ваш пробег может отличаться.

1 голос
/ 05 октября 2008

Единственное отличие в том, что я делаю, когда возвращаю JavaScript или HTML в браузер для AJAX, - это не выводить заголовки или какие-либо дополнительные данные. (Обработка ошибок, которую я использую при выводе ошибок, выводит ошибки, поэтому я также отключил это.)

0 голосов
/ 19 августа 2016

Я настоятельно рекомендую вам использовать Cjax Framework 100% PHP Side Ajax Framework.

Вы никогда не увидите строку JavaScript.

Cjax позволяет вам делать вещи Ajaxy большую часть времени с помощью одной строки кода.
Также Cjax интегрируется в CodeIgniter, как ваш палец интегрируется в кольцо!

Это тема на форумах CodeIgniter: http://forum.codeigniter.com/thread-65967.html

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

Существует также много документации: (из вики CodeIgniter): https://github.com/bcit-ci/CodeIgniter/wiki/ajax-framework-for-codeigniter

0 голосов
/ 02 ноября 2011

Простите за публикацию по старому вопросу, но относительно новый фреймворк Agile Toolkit является идеальным ответом на OP.

Позволяет создавать полностью объектно-ориентированный веб-интерфейс без использования HTML / JavaScript.

0 голосов
/ 12 ноября 2008

Да, PHP может выводить XML и JSON для Ajax, но не все PHP-фреймворки одинаково хорошо поддерживают JSON / XML.

Например: я столкнулся с проблемой в Drupal (4.7), где сеансы PHP будут удалены после вывода ответа JSON. (Выходной код HTML явно закрывал сеанс, который требовался, иначе сеанс будет удален.)

Мне также хотелось бы знать о PHP-фреймворках, которые облегчают управление JavaScript-кодом. Даже что-то базовое, например, включение jQuery только на те страницы, которые этого требуют. Или помогая управлять сворачиванием / упаковкой кода JavaScript.

...