Как исправить «POST http://localhost:8000/users/create 405 (метод не разрешен)» - PullRequest
1 голос
/ 02 июля 2019

Я настраиваю свой «HTML» и хочу отправить данные с JavaScript, но все равно получаю следующую ошибку.

405 (метод не разрешен)

JavaScript

function cb(){

    $.ajax({
        type:"POST",
        url:'http://localhost:8000/users/create',
        data:selchbox,
    });

    var selchbox = [];
    var sb = [];
    var input = document.getElementsByTagName('input');
    for(var i=0; i<input.length;i++){
        if (input[i].type == 'checkbox' && input[i].checked == true) 
            selchbox.push(input[i].value);
    }
    console.log(selchbox);
}

Маршрут

Route::post('/create', 'usersController@create');

Ответы [ 2 ]

2 голосов
/ 02 июля 2019

Вы отправляете сообщение на /users/create, но ваше определение маршрута для старого /create.

1 голос
/ 02 июля 2019

Глядя на код, который вы называете маршрутом с именем / users / create вместо / create

Вам также может понадобиться сделать это, поскольку laravel не разрешает никаких запросов без автоматически сгенерированного токена csrf. Вы можетеустановите токен csrf на мета-код html следующим образом.

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

и назовите его в JavaScript следующим образом.

 $.ajax({
     url: '/your_route',
     method: "POST",
     headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')                                                                                                                                                                                                
     },
     data,
 }).done(results => {
     //results                                                                                                                                                                                                                           
 })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...