MethodNotAllowedHttpException в строке 251 RouteCollection.php при отправке формы с использованием ajax - PullRequest
0 голосов
/ 17 мая 2019

Я отправляю html-форму, используя ajax, на контроллер laravel, но он показывает ошибку, что MethodNotAllowedHttpException в строке RouteCollection.php 251.

вот мои коды ajax.

<script type="text/javascript">
    function Login(){

        var data = $("#login-form").serialize();
        $.ajaxSetup({
            headers: {
                'X-XSRF-Token': $('meta[name="_token"]').attr('content')
            }
        });

        $.ajax({
            type:"POST",
            url:"userAuth",
            data:data,
            success: function(response)
            {
                console.log(response);
            },
            error:function(response)
            {
                console.log(response);
            }
        });
    }
</script>

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

<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;

class LoginController extends Controller
{

    public function userAuth(Request $request)
    {
        $name = $request->username;
        die($name);
    }
}
?>

коды web.php

Route::post('/userAuth', 'LoginController@userAuth');

пожалуйста, дайте мне знать, что я делаю неправильно, спасибо.

Ответы [ 2 ]

0 голосов
/ 17 мая 2019

Запрос URL с базовым URL и токеном csrf

<script type="text/javascript">
    function Login(){

        var data = $("#login-form").serialize();

        $.ajaxSetup({
            headers: {
              'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
            }
        });

         var getUrl = window.location;
         var baseUrl = getUrl .protocol + "//" + getUrl.host + "/" + getUrl.pathname.split('/')[1];


        $.ajax({
            type:"POST",
            url: baseUrl+"/userAuth",
            data:data,
            success: function(response)
            {
                console.log(response);
            },
            error:function(response)
            {
                console.log(response);
            }
        });
    }
</script>
0 голосов
/ 17 мая 2019

в вашем файле api.php укажите ваш маршрут

Route::post('/userAuth', 'LoginController@userAuth');

Ваш файл web.php имеет промежуточное программное обеспечение для защиты от CSRF. Вы можете отключить его, но не рекомендуется

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...