Страница 1 из 1

Убрать подключение jQuery при запросе через ajax

Добавлено: 2011.11.07, 17:08
vasil14
Ajax генерирует запрос на сервер. В результате получаем html контент + js код который требуется исполнить. js код пишу через Yii::app()->clientScript->registerScript. Код примерно такой

Код: Выделить всё

<?php
class TestController extends Controller {
    public function actionAjax() {
        $this->layout=false;
        $this->render('_ajax_content');
    }
}
 
И view _ajax_content

Код: Выделить всё

<?php 
Yii::app()->clientScript->registerScript('test', "$('#aaa').click(function(){alert('click ok')})");
?>
<div id="aaa">click</div>
В результате все работает только при каждом запросе вижу что подгружается еще и jquery. Что не требуется поскольку когда страница загрузилась jquery уже подключен. И хоть код что грузится через аякс его использует грузить еще раз не требуется. Что подскажете с этим поделать?

Re: Убрать подключение jQuery при запросе через ajax

Добавлено: 2011.11.07, 18:33
because
Yii::app()->clientscript->scriptMap['jquery'] = false; - может неточно, но вроде как-то так

Re: Убрать подключение jQuery при запросе через ajax

Добавлено: 2011.11.07, 18:44
Johnatan
вместо

Код: Выделить всё

$this->layout=false;
$this->render('_ajax_content'); 
используйте

Код: Выделить всё

$this->renderPartial('_ajax_content'); 

Re: Убрать подключение jQuery при запросе через ajax

Добавлено: 2011.11.07, 20:25
esche

Re: Убрать подключение jQuery при запросе через ajax

Добавлено: 2011.11.07, 23:54
vasil14
см строку 612
См пост
Спасибо но это не решение. В моем случае подгружаемый js код весьма объемный. И главное что он не всегда должен загружаться на страницу, а только если пользователь открыл соответствующую вкладку. Потому я считаю более правильным грузить его именно когда загружается этот самый код. На счет 612 я знал что использование registerScript ведет за собой регистрацию jQuery. Но писать js код просто в хтмл через script считаю тоже не совсем соответствующим стилю фреймворка.

Re: Убрать подключение jQuery при запросе через ajax

Добавлено: 2011.11.07, 23:58
vasil14
Yii::app()->clientscript->scriptMap['jquery'] = false; - может неточно, но вроде как-то так
Спасибо. Это скорее всего то что мне нужно.

Re: Убрать подключение jQuery при запросе через ajax

Добавлено: 2012.09.11, 11:20
bookin
нашли ли вы выход?, та же проблема

Re: Убрать подключение jQuery при запросе через ajax

Добавлено: 2012.09.11, 13:07
AlTiger
$this->renderPartial();
Yii::app()->end();