来自View的Yii Controller调用?

时间:2011-09-19 23:09:16

标签: php jquery yii yii-chtml

我有一个有形式的视图。我有一个通过Ajax调用控制器的按钮。

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

动作控制器它的作用是从MySQL收集一些数据,然后将renderPartial HTML表格收集到我的表单中。完全在div #div_retailers中。这是创建选项。现在我正在尝试实现更新操作,该操作应该呈现create动作中提供的信息并绘制表格。

我希望能够从我的视图中调用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 个答案:

答案 0 :(得分:1)

在小部件中执行完全相同的操作:

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

答案 1 :(得分:0)

有趣的是,ajax没有内置的url生成器。所以我用辅助变量调用ajax,这是由我的yii应用程序生成的。 我用Yii::app()->clientScript("config.url = ".Yii::app()->createUrl() . "); 然后在纯JavaScript中我可以使用全局变量配置,我已生成网址。

$.ajax({
url: config.url
});