Ajax генерирует запрос на сервер. В результате получаем html контент + js код который требуется исполнить. js код пишу через Yii::app()->clientScript->registerScript. Код примерно такой
<?php
class TestController extends Controller {
public function actionAjax() {
$this->layout=false;
$this->render('_ajax_content');
}
}
В результате все работает только при каждом запросе вижу что подгружается еще и jquery. Что не требуется поскольку когда страница загрузилась jquery уже подключен. И хоть код что грузится через аякс его использует грузить еще раз не требуется. Что подскажете с этим поделать?
Я не считаю что js подгружать через ajax плохая практика. Я подгружаю обычно html код + js обработчики. Если этот блок кода может не запрашиваться на странице. live тоже использую, но для других целей. Потому для этих целей renderPartial не подходит. Точнее для него нужно выставить 3-й параметр что вообщем привратит его просто в render. Пока вижу решение через Yii::app()->clientscript->scriptMap[‘jquery’] = false;
Хочу заметить что Ваше утверждение не является верным, так как renderPartial не применяет layout к выводимому содержимому. А в ответах на AJAX-запросы layout - это лишний трафик.