我正在使用当前Laravel文档中的这段代码
return redirect()->action(
'UserController@profile', ['id' => 1]
);
并将其更改为我自己的控制器,如下所示:
return redirect()->action('ProjectController@showProject',['id'=> 2]);
我的路线:Route::get('/crm/project/{id}', 'ProjectController@showProject');
根据我的F12
,这是我的请求网址http://127.0.0.1:8000/back/crm/project/2
,这是正确的。但是我收到以下错误:405 Method Not Allowed
。
这是我的堆栈跟踪的开始:
{消息:“”,异常:“ Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException”,…}
谢谢。
编辑:添加了路线。
答案 0 :(得分:0)
始终使用GET
方法进行重定向。我假设在web.php
中使用其他HTTP方法(例如PUT
或POST
)定义了此路由-这就是为什么会出现此错误的原因。查看web.php
文件,并确保您正在使用GET
方法或重定向到其他URL。
答案 1 :(得分:0)
这可能很棘手。
我认为您需要更改方法。检查您的web.php以获取该路由的偏离。也最好在路由中使用中间件组。
这只是在说您的方法不允许使用其他方法声明。
答案 2 :(得分:0)
您遇到的问题是因为您使用了相同的函数名来拖曳不同的方法,一种方法用于获取方法,另一种方法用于放置错误原因,为什么您会收到错误消息,因为您在重定向中传递了操作,因此它搜索操作并找到该操作使用put方法
将此用于重定向
return redirect()->route('/back/crm/project/', ['id' => 1]);
我想建议您不要再使用修订 ajax请求其不好的编程习惯 如果您在ajax中放置或发布方法,该方法将根本无法工作
做出成功的响应并刷新您的位置