405: метод не найден по запросу POST - PullRequest
0 голосов
/ 21 октября 2019

Я получаю ошибку 405: Метод не найден при попытке выполнить запрос POST для моего приложения laravel. Я пытаюсь сделать форум, чтобы узнать, как использовать php и Laravel. Я пытаюсь отправить запрос от /forum/category/{category}/post, я выполняю (почти) идентичные запросы только с /forum, и он отлично работает, поэтому я предполагаю, что это как-то связано с этим. Здесь я пытаюсь отправить запрос (возвращает post.blade.php):

Route::get('forum/category/{category}/post', 'ForumController@showThreadPostForm');

Запрос:

var $form = $('form');
$form.submit((e) => {
  e.preventDefault();
  $.ajax({
      type: "POST",
      url: 'postthread',
      headers: {'X-CSRF-TOKEN': $('meta[name="csrf"]').attr('content')},
      data: {"test": "data"},
      success: function(res) {
        window.location.reload();
        console.log(res);
      },
      error: function(xhr, ajaxOptions, thrownError) {
        console.log("Error occured during AJAX request, error code: " + xhr.status);
      },
  });
});

Маршрут:

Route::post('postthread', 'ForumController@postThread');

Метод контроллера:

    public function postThread(Request $request) {
      //empty
    }

Я не уверен, достаточно ли этой информации. Спасибо.

Я использовал один и тот же запрос AJAX на другой странице /forum, и он работает, я не уверен, как заставить его работать на этой странице.

1 Ответ

0 голосов
/ 21 октября 2019

Попробуйте добавить токен к вашим данным и добавить косую черту в ваш URL.

также метатег установлен на:

<meta name="csrf-token" content="{{ csrf_token() }}">


$.ajax({
      type: "POST",
      url: '/postthread',
      headers: {'X-CSRF-TOKEN': $('meta[name="csrf"]').attr('content')},
      data: {"test": "data",  "_token": $('meta[name="csrf"]').attr('content')},
      success: function(res) {
        window.location.reload();
        console.log(res);
      },
      error: function(xhr, ajaxOptions, thrownError) {
        console.log("Error occured during AJAX request, error code: " + xhr.status);
      },
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...