未找到控制器页面中的php yii 2.0新操作404
我正在使用Yii 2.0基本版,我需要一些帮助。 我创建了一个ajax函数,如下所示:未找到控制器页面中的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
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()},