使用Ajax在按钮单击时调用Yii2函数

时间:2017-10-17 00:45:14

标签: php ajax yii2

在尝试了我通过互联网/其他问题找到的一些可能的解决方案后,我似乎无法找到我的代码的问题。我需要的是,在我的视图中单击一个按钮后,我的Yii2控制器中的一个动作将通过Ajax调用并执行一些操作。但是,使用我当前的代码,单击按钮后似乎没有任何事情发生。

相关代码如下......

观点:

(...)
Html::button('Eliminar', ['data-confirm' => '¿Eliminar enunciado?', 'onclick' => '
    $.ajax({
        type: "POST",
        url: "/evaluacion/eliminar-enunciado",
        data: {
            id: '.$enunciado->id.'
        }, success: function(result) {
            if(result == 1) {
                $.pjax.reload({container: "#construccion-evaluacion"});
            } else {
            }
        }, error: function(result) {
            console.log(\"server error\");
        }
    });
'])
(...)

控制器:

(...)
public function actionEliminarEnunciado($id)
{
    Enunciado::findOne($id)->delete();
    if(Enunciado::findOne($id) != null) {
        echo 1;
    } else {
        echo 0;
    }
}
(...)

澄清的一些注意事项:
  - 控制器文件名为EvaluacionController.php   - $ enunciado-> id变量已正确定义并具有有效值。

任何建议将不胜感激。谢谢你的时间!

1 个答案:

答案 0 :(得分:2)

您需要获取POST请求的值;

if(isset($_POST['id']))
    $id = $_POST['id'];