Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未找到控制器页面中的php yii 2.0新操作404_Php_Yii2 - Fatal编程技术网

未找到控制器页面中的php yii 2.0新操作404

未找到控制器页面中的php yii 2.0新操作404,php,yii2,Php,Yii2,我正在使用Yii 2.0基本版,我需要一些帮助。 我创建了一个ajax函数,如下所示: function eliminarColaborador(id) { $.ajax({ type: "GET", async: false, url: "<?= urldecode(Url::toRoute(['colaborador/ajaxEliminarColaborador'])) ?>", dataType: 'js

我正在使用Yii 2.0基本版,我需要一些帮助。 我创建了一个ajax函数,如下所示:

function eliminarColaborador(id) {
    $.ajax({
        type: "GET",
        async: false,
        url: "<?= urldecode(Url::toRoute(['colaborador/ajaxEliminarColaborador'])) ?>",
        dataType: 'json',
        data: {
            'id': id
        },
        complete: function ()
        {
        },
        success: function (data) {
            if (data !== null)
            {
                // SUCCESS
            }
            else
            {
                // ERROR
            }

        }
    });
}
我在firebug:notfound(#404):Page notfound中遇到了这个错误

我什么都试过了,但我不知道是什么问题。 如果我将ajaxurl更改为urldecode(url::toRoute(['colaborador/delete'])则错误消失,一切正常

也许我需要在Colaborador控制器中声明我的新操作ajaxEliminarColaborador,但我不知道如何声明


怎么了?

应该是
。您可以了解原因。

controller

public function actionAjaxEliminarColaborador(){}
ajax

urldecode(Url::toRoute(['colaborador/ajax-eliminar-colaborador']))

使用以下命令更改ajax响应:

url: '/colaborador/ajaxEliminarColaborador/$id',
data: {id: $id,_csrf: yii.getCsrfToken()},

尝试删除url上的“ajax”一词。

谢谢,我认为它很有效。。但现在我被禁止了(#403):你无权执行此操作。可能与此相关:
public function behaviors(){return['access'=>AccessControl::className(),'rules'=>[['allow'=>true,'actions'=>['index','view','update','delete','ajaxEliminarColaborador'],'roles'=>['@'],],],],],];}
?我在访问规则中将ajaxEliminarColaborador更改为ajaxEliminarColaborador,正如我在上一条评论中所说的,现在它开始工作了!感谢您的帮助。
url: '/colaborador/ajaxEliminarColaborador/$id',
data: {id: $id,_csrf: yii.getCsrfToken()},