【问题标题】:Symfony\Component\HttpKernel\Exception\HttpException Error in Laravel 5.4Laravel 5.4 中的 Symfony\Component\HttpKernel\Exception\HttpException 错误
【发布时间】:2018-07-21 02:38:32
【问题描述】:

我想通过模态和快速身份验证注册用户,我正在使用 Ajax 发送数据。 我的代码在这里:

 <div class="modal fade" tabindex="-1" role="dialog" id="mySignup">
    <div class="modal-dialog" role="document">
        <div class="login-wrap">
            <div class="form text-center">
                <input type="text" name="name" id="name"/>
                <input type="email"  name="email" id="email"/>
                <input type="password" name="pw" id="password"/>
                <button id="SignUp">Signup</button>
            </div>
        </div>
        {{csrf_field()}}
    </div>
</div>
<script>
$(document).ready(function () {
    $('#SignUp').click(function (event) {
        var name = $('#name').val();
        var email = $('#email').val();
        var password =$('#password').val();
        $.post('/register',{
            'name' : name,
            'email' :email,
            'password':password,
            'token':$('input[name=_token]').val()
        });
    });
});
</script>

在 Web.php 中,我正在使用此代码:

Route::post('/register',[
'as'=> '',
'uses' => 'Auth\RegisterController@Register'
 ]);

但是当我想要注册时,我会给出带有 419 状态码的错误消息 {message: "", exception: "Symfony\Component\HttpKernel\Exception\HttpException",…} 我该如何解决这个问题?

【问题讨论】:

    标签: php laravel symfony


    【解决方案1】:

    您需要在标头中传递令牌

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

    在ajax调用时添加标题

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

    【讨论】:

      【解决方案2】:

      token 更改为 _token,因为 laravel 检查 _token 中的 CSRF 令牌

      '_token':$('input[name=_token]').val()
      

      【讨论】:

      • 哦!是坦克很多
      猜你喜欢
      • 2019-03-01
      • 2015-03-14
      • 2019-10-17
      • 2018-09-25
      • 2016-05-21
      • 2021-04-28
      • 2021-06-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多