我希望注册用户使用模态和快速身份验证,我正在使用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'
]);
但是当我想要SignUp时,我给出了带有419状态代码的错误消息
{message: "", exception: "Symfony\Component\HttpKernel\Exception\HttpException",…}
我怎么能解决这个问题?
答案 0 :(得分:1)
token
中的CSRF令牌时,将_token
更改为_token
'_token':$('input[name=_token]').val()
答案 1 :(得分:0)
您需要在标头
中传递令牌<meta name="csrf-token" content="{{ csrf_token() }}">
在ajax调用上添加标头
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}