繁体   English   中英

Yii控制器从视图调用?

[英]Yii Controller call from a View?

我有一个形式的观点。 我有一个按钮,可通过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>

我该如何实现?

谢谢

做与小部件中已经做的完全相同的事情:

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM