2016-09-22 11 views
1

私はajaxによって電子メールで短いフォームを送信したいと思います。Laravel ajaxフォームの検証

次のコードは、私がリクエストにデータを追加jsのスクリプトでname='_token'

{!! Form::open(['route'=>'registerCheck', 'id'=>'register_form', 'novalidate'=>'novalidate']) !!} 

に隠し入力を追加します。

$.ajax({ 
    method:'POST', 
    url: $form.attr('action'), 
    data:{ 
     '_token': $form.find('[name="_token"]').val(), 
     email: $('#email').val(), 
     user: $this.attr('id'), 
    } 
}) 

どのように私はそれを認証することができますし、その名前空間は、私がこれを行うに含める必要がありますか?

+0

の変更方法 'POST' にあなたの要求を変更、追加して、このメタ

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

を追加 – Komal

答えて

1

まず、あなたのscriptこの

var CSRF_TOKEN = $('meta[name="csrf-token"]').attr('content'); 

が最終的に 'GET' にこの

$.ajax({ 
method:'POST', 
url: $form.attr('action'), 
data:{ 
    _token: CSRF_TOKEN, 
    email: $('#email').val(), 
    user: $this.attr('id'), 
    } 
}) 
+0

私が尋ねたことは、正確ではありません。私は知りたい、サーバー側の_tokenをどうするか。 Mayby自動的に一部のサービスで認証されます – julew

+0

Webミドルウェアグループに含まれるVerifyCsrfTokenミドルウェアは、要求入力のトークンがセッションに格納されているトークンと一致するかどうかを自動的に検証します。 @julew – Nour

+0

ありがとうございました。しかし、今私はミドルウェアグループが自動的に各リクエストに追加されているのかどうか、どうしたらいいのだろうと思います。私はどのファイルでこの記法を見つけることができません。 – julew