Метод ответа Laravel не разрешен - PullRequest
0 голосов
/ 18 января 2019

Я использую этот код из текущей документации Laravel

return redirect()->action(
    'UserController@profile', ['id' => 1]
);

И изменил его на свой собственный контроллер следующим образом:

return redirect()->action('ProjectController@showProject',['id'=> 2]); 

Мой маршрут: Route::get('/crm/project/{id}', 'ProjectController@showProject');

Согласно моему F12, это мой запрос URL http://127.0.0.1:8000/back/crm/project/2 Это правильно.Но я получаю следующую ошибку: 405 Method Not Allowed.

Это начало моей трассировки стека:

{message: "", исключение: "Symfony \ Component \ HttpKernel \ Exception\ MethodNotAllowedHttpException ",…}

Заранее спасибо.

Редактировать: Добавлен маршрут.

Ответы [ 3 ]

0 голосов
/ 19 января 2019

Это может быть сложно.

Я думаю, вам нужно изменить метод. Проверьте ваш web.php на предмет отклонения для этого маршрута. также лучше использовать группу промежуточного программного обеспечения для вашего маршрута.

Это просто говорит о том, что ваш метод не разрешен, потому что он был объявлен другим методом.

0 голосов
/ 19 января 2019

проблема, которую вы получаете, потому что вы использовали одно и то же имя функции для двух разных методов: один для get и один для put, поэтому вы получаете сообщение об ошибке, потому что вы передаете действие в перенаправлении, поэтому он ищет действие и обнаруживает это действие с методом пут

используйте это для перенаправления

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

Еще одна вещь, которую я хочу предложить вам никогда не использовать перераспределение в AJAX запрос его не очень хорошая практика программирования и он не будет работать вообще, если вы добавили или запостили метод в вашем ajax

сделайте успешный ответ и обновите ваше местоположение, вот оно

0 голосов
/ 18 января 2019

Перенаправления всегда выполняются методом GET. Я предполагаю, что в web.php этот маршрут определен с использованием другого метода HTTP (например, PUT или POST) - поэтому вы получаете эту ошибку. Взгляните на файл web.php и убедитесь, что вы используете метод GET или выполните перенаправление на другой URL.

...