通知控制器视图中有按钮被点击


Notify the controller of a button clicked in view

如何通知控制器删除按钮已被单击?

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. 似乎你使用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管理的信息。