Мой запрос ajax возвращает состояние ошибка 405 на laravel

Мой запрос ajax возвращает состояние ошибка 405 на laravel

27.01.2020 10:34:13 Просмотров 30 Источник

Я использую laravel 6. Он возвращает мне ошибку 405 при использовании внешнего ajax.файл js для обработки моей формы. сообщение: метод POST не поддерживается для этого маршрута. Поддерживаемые методы: GET, HEAD.

Это моя форма в клинке.:

<form >
 @csrf
     <div class="form-group">
         <label>Name:</label>
         <input type="text" name="name" class="form-control" placeholder="Name" required="">
      </div>
      <div class="form-group">
          <label>Password:</label>
          <input type="password" name="password" class="form-control" placeholder="Password"       required="">
       </div>
       <div class="form-group">
           <strong>Email:</strong>
           <input type="email" name="email" class="form-control" placeholder="Email" required="">
       </div>
       <div class="form-group">
        <button class="btn btn-success btn-submit">Submit</button>
       </div>
    </form>

мой Аякс.JS:

$(document).on('submit','#employeeSignupFrom',function (e) {
var token =  $('input[name="_token"]').attr('value')
$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': token
    }
});
$.ajax({
    $url:'/signupemployee',
    type:'post',
    data: $(this).serialize(),
    contentType:'json',
    success: function( response, textStatus, jQxhr ){
      alert('done')
    },
    error: function( jqXhr, textStatus, errorThrown ){
        alert('error!');
    }
});
e.preventDefault()
 })

маршрут(web.РНР):

Route::post('/signupemployee','FormsController@signupEmployee');

и мой контроллер:

<?php

 namespace App\Http\Controllers;

  use Illuminate\Http\Request;
  use Illuminate\Http\Response;
  class FormsControllers extends Controller
   {
    public function signupEmployee(Request $request){
      $employeeInfo=$request->all();
      return response()->json(['alert'=>'done!']);
   }
 }
У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/59926771/my-ajax-request-return-status-error-405-on-laravel#comment105976265_59926771
очистите сначала свой кэш с помощью php artisan route: cache
https://stackoverflow.com/questions/59926771/my-ajax-request-return-status-error-405-on-laravel#comment105976511_59926771
это вызывает проблему!. Я не могу открыть ни одной страницы.Фасад\зажигание\исключения\ViewException маршрут [signupEmployee] не определен. (Вид: C:\xampp\htdocs\jobyob\resources\views\mainLayout\mLayout.лезвие.РНР)
https://stackoverflow.com/questions/59926771/my-ajax-request-return-status-error-405-on-laravel#comment105976531_59926771
в чем же тогда проблема ? вы просто очищаете свой кэш, чтобы убедиться, что используете правильный маршрут.

Ответы - Мой запрос ajax возвращает состояние ошибка 405 на laravel / My ajax request return status error 405 on laravel

Является ответом!
c0mmander

27.01.2020 11:17:45

Сначала удалите $ sign из вашего url-адреса:

//$url:'/signupemployee', <- remove $
url:'/signupemployee',

Второе изменение contentType на:

contentType: 'application/json',

Наконец ваш ajax должен быть примерно таким:

$.ajax({
     url: '/signupemployee', //<- $ sign should deleted
     type: 'POST',
     data: data,
     contentType: 'application/json', //<- not just json
     headers: {
         'X-CSRF-TOKEN': token
     }
})

https://stackoverflow.com/questions/59926771/my-ajax-request-return-status-error-405-on-laravel/59927255#comment105977762_59927255
tnx очень, ошибка 405 была из-за моей ошибки по установке url в методе ajax. Я не знаю, почему я сделал эту ошибку" $ url"! и вы правы, значение значение contentType неправильно. но мои заголовки работают правильно @c0mmander
Закрыть X