Вызов контроллера Yii из View? - PullRequest
       13

Вызов контроллера Yii из View?

1 голос
/ 20 сентября 2011

У меня есть вид, который имеет форму. У меня есть кнопка, которая вызывает контроллер через Ajax.

    echo CHtml::submitButton('Generate', array(
        'ajax'        => array(
            'type'    => 'POST',
            'url'     => CController::createUrl('Calculator/generateRetailers'),
            'update'  => '#div_retailers'
        )
    ));

Контроллер действия собирает некоторые данные из MySQL, а затем выводит частичные HTML-таблицы в мою форму. Именно в div #div_retailers. Это опция создания. Теперь я пытаюсь реализовать действие обновления, которое должно отображать информацию, представленную в действии создания, и рисовать таблицы.

Я хотел бы иметь возможность вызвать generateRetailers контроллер действий с моей точки зрения. Примерно так:

<div id="div_retailers">
</div>

<script type="text/javascript">
    // I would like to call a url using jQuery?
    $.ajax({
        url: "/Calculator/generateRetailers"
    });
</script>

Как мне этого добиться?

Спасибо

Ответы [ 2 ]

1 голос
/ 20 сентября 2011

Сделайте то же, что вы уже делаете в виджете:

<script type="text/javascript">
  // I would like to call a url using jQuery?
  $.ajax({
    url: "<?php echo CController::createUrl('Calculator/generateRetailers');?>"
  });
</script>
0 голосов
/ 20 сентября 2011

Интересно, что нет встроенного генератора URL для ajax.Поэтому я вызываю ajax с вспомогательной переменной, которая генерируется моим приложением yii.Я использую Yii::app()->clientScript("config.url = ".Yii::app()->createUrl() . ");, а затем в чистом JavaScript я могу использовать конфигурацию глобальной переменной, где я сгенерировал URL-адреса.

$.ajax({
url: config.url
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...