Для начала немного истории: Одно время очень часто для реализации AJAX в проектах использовал xajax - но только было в нем ряд недостатков - достаточно громоздкая серверная и клиентская части, отсутствие поддержки javascript фреймверков. По прошествие N-го времени и подсев на jQuery решил я написать для него сервер-сайд, который бы позволял достаточно гибко оперировать javascript функциями из-под РНР, результат трудов в примерах и собственно сами исходники можно скачать тут: http://jquery.hohli.com. Пример использования билиотеки: PHP: <? require_once 'libraries/jQuery.php'; // many actions jQuery::jQuery('#test2 div') -> html('new content'); jQuery::jQuery('#test2 div.red') -> html('new content') -> css('backgroundColor' , '#ff0000'); // get JSON response jQuery::getResponse(); ?> Пример функции для отправки ajax запроса: [js]$.ajax({ // AJAX-specified URL url: "http://"+document.domain+"/ajax.php", // JSON type: "POST", data: {}, dataType : "json", // Handle the success event // response parser call (it's requried for work php) success: function(data, textStatus){ return php.success(data, textStatus); } })[/js] Недостатки: - Незначительно увеличивается нагрузка на сервер - Со сменой дизайна (или при поддержке скинов в системе) могут возникнуть осложнения
jQuery: AJAJs сервер (location /script.js): [js]$("a").css("color", "#0F0")[/js] клиент: [js]$.getScript('/script.js')[/js]
Cабж обновил, пофикшены мелкие баги, а так же добавлена функция jQuery, дабы подобие с JS было более полным PHP: jQuery('#test2 div') -> html('new content'); jQuery('#test2 div.red') -> html('new content') -> css('backgroundColor' , '#ff0000');