不允许使用Laravel响应方法

时间:2019-01-18 19:48:00

标签: laravel laravel-5 response laravel-response

我正在使用当前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”,…}

谢谢。

编辑:添加了路线。

3 个答案:

答案 0 :(得分:0)

始终使用GET方法进行重定向。我假设在web.php中使用其他HTTP方法(例如PUTPOST)定义了此路由-这就是为什么会出现此错误的原因。查看web.php文件,并确保您正在使用GET方法或重定向到其他URL。

答案 1 :(得分:0)

这可能很棘手。

我认为您需要更改方法。检查您的web.php以获取该路由的偏离。也最好在路由中使用中间件组。

这只是在说您的方法不允许使用其他方法声明。

答案 2 :(得分:0)

您遇到的问题是因为您使用了相同的函数名来拖曳不同的方法,一种方法用于获取方法,另一种方法用于放置错误原因,为什么您会收到错误消息,因为您在重定向中传递了操作,因此它搜索操作并找到该操作使用put方法

将此用于重定向

return redirect()->route('/back/crm/project/', ['id' => 1]);
  

我想建议您不要再使用修订   ajax请求其不好的编程习惯   如果您在ajax中放置或发布方法,该方法将根本无法工作

做出成功的响应并刷新您的位置