2016-09-18 2 views
0

私はLaravel 5.2とAuth scafoldingを使用しています。Laravel ajax login空のフィールド

私は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ログイン()関数を使用しています:https://i.gyazo.com/bfe6790934f711f4c1d35f6670c20caa.png

は、ここで問題です:

1)私は、通常のデフォルトを使用する場合ログインフォーム/login(ajaxなし)、上記のクラスの$request->all()は、投稿されたすべてのフォームフィールドを返します(これは完璧です)

2)が、ときに私はAjaxのPOSTリクエスト、$request->all()戻り空の配列を経由して同じ形式/loginを提出:誰もが私が間違ってここにやってもらえますhttps://i.gyazo.com/44e2fc6f438bba27a2baab9f7d3b38d6.png

?私は狂気になり、何がうまくいかないのか分かりません。私は解決策を探し求めましたが、まだ何も見つかりませんでした。

ありがとうございました。

答えて

0

申し訳ありませんが、私は愚かです、私は空の配列を返す理由を考え出しました。

私のAjaxリクエストではcontentType: 'application/json',でしたが、私のフォームデータはJSON形式ではなく、文字列params形式でした。