我正在使用Laravel 5.2及其Auth scafolding。Laravel ajax登录空字段
我试图使默认登录窗体,使用Ajax(无需重新加载页面)。
我正在使用reqwest.js来处理ajax请求。
这里是我的Ajax代码:
<script data-cfasync="false" type="text/javascript" src="{{asset('js/lib/reqwest.min.js')}}"></script>
<script type="text/javascript">
var thisForm = document.querySelector('#authLogin');
thisForm.addEventListener('submit', function(f){
f.preventDefault();
reqwest({
url: thisForm.getAttribute('action'),
method: thisForm.getAttribute('method'),
contentType: 'application/json',
headers: {
'X-CSRF-TOKEN': document.getElementById('csrf_meta').getAttribute('content')
},
data: '_token='+thisForm.elements._token.value+'&[email protected]&password=12345',
success:function (response){
}
});
});
</script>
它采用\vendor\laravel\framework\src\Illuminate\Foundation\Auth\AuthenticatesUsers.php
login()函数来处理登录请求:https://i.gyazo.com/bfe6790934f711f4c1d35f6670c20caa.png
这里的问题:
1)当我使用默认的正常登录表格/login
(不含ajax),$request->all()
在上面的类中返回提交的所有表单域(很好,这是完美的)
2),但是当我通过一个Ajax POST请求提交相同的形式/login
,$request->all()
返回空数组:https://i.gyazo.com/44e2fc6f438bba27a2baab9f7d3b38d6.png
谁能告诉我在做什么错在这里?我疯了,不知道可能会出现什么问题。我到处寻找解决办法,仍然没有。
谢谢。