1

我有一个有表单的视图。我有一个通过 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>

我怎样才能做到这一点?

谢谢

4

2 回答 2

1

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

<script type="text/javascript">
  // I would like to call a url using jQuery?
  $.ajax({
    url: "<?php echo CController::createUrl('Calculator/generateRetailers');?>"
  });
</script>
于 2011-09-20T08:26:13.790 回答
0

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

$.ajax({
url: config.url
});
于 2011-09-20T08:16:11.580 回答