【问题标题】:Yii - about jquery ajaxYii - 关于 jquery ajax
【发布时间】:2023-03-27 23:52:01
【问题描述】:

我正在写一个商店应用程序,我有一个问题。

你知道 Yii 中的 ajax 看起来像

<?php
    echo CHtml::ajaxLink(
        '',
        array("cart/add/id/$item->id"),
        array(
            'update'=>'#cart',
        ),
        array('class' => "button_basket")
    );
?>

此代码将 div 更新为 id = cart。如何更新页面上的其他元素?例如,在购物车页面上,我正在通过 ajax 删除一件商品,我需要更新总价,最好的方法是什么?

【问题讨论】:

    标签: php ajax jquery frameworks yii


    【解决方案1】:

    为此,您需要编写一些 javascript,最好是一个从服务器读取响应的函数,并相应地在 ui 中进行更改。

    如果您通过ajaxLink();documentation,您会看到第三个参数是ajaxOptions,它采用jQuery's ajax method 的选项。因此,您可以为success event 编写回调函数。在这个函数中,你可以对你的 ui 进行更改。

    示例代码:

    <?php
     echo CHtml::ajaxLink(
        '',
        array("cart/add/id/$item->id"),
        array(
            // 'update'=>'#cart', this will be ignored when you have success callback
            'success'=>'js:successFunctionName',
        ),
        array('class' => "button_basket")
     );
    ?>
    

    在当前视图的某处,您可以使用registerScript 将函数输出到视图:

    Yii::app->clientScript->registerScript('scriptname','
        function successFunctionName(data, textStatus, jqXHR){
            // write awesome javascript to change ui
        }
    ');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-26
      • 2017-11-16
      相关资源
      最近更新 更多