通知控制器在视图中单击的按钮

时间:2015-06-02 01:45:40

标签: php model-view-controller yii

如何通知控制器点击了删除按钮?

MyController.php

public function actionUpdate($id)
{
    isset($_POST['del'])
    {
       // delete user.
    }
}

MyView.php

<?php
echo '<button type="button" class="btn btn-danger" name="deleteButton">Delete User</button>'; 
?>

这就是我的尝试:

    $('.deleteButton').click(function()
    {
        var clickBtnValue = $(this).val();
        var ajaxurl = Yii::app()->basePath . '/controllers/MyController.php';

        del =  {'action': clickBtnValue};
        $.post(ajaxurl, del, function (response) 
        {

            alert("action performed successfully");
        });
    });

但是我无法在控制器上收到按钮被点击的通知。

1 个答案:

答案 0 :(得分:2)

  1. 看来你使用的是jQuery。 $('.deleteButton')按类选择元素,而不是按名称选择。应该使用$('[name="deleteButton"]')
  2. 你不能用这种方式在JS中注入PHP代码。如果您的JS是在视图中编写的,则应该包装PHP代码<?=Yii::app()->basePath ?>
  3. Yii使用URL管理器。这意味着URL不等于控制器文件路径。从视图<?=$this->createUrl('my/update', array('id' => $userId) ?>构建URL。了解更多关于url management