2017-06-09 22 views
0

私はリモートサーバーから投稿してデータを取得する反応ネイティブアプリを持っています。ポストでは、トークンのミスマッチエラーを避けるためにcsrfトークンを含める必要があります。これは、これが反応するネイティブコード(私はエラーキャッチコードを取り除かれている)であるバックエンドlaravel方法反応ネイティブアプリからの投稿リクエストにcsrfトークンを含める

//Android Login 
    public function androidLogin(){ 

     return response()->json([ 
     'name' => 'Android Login', 
     'route' => 'androidLogin' 
      ]); 
    } 

です。

async handleSubmit(){ 
    var me = this.state.message; 
    console.log('this connected',me); 

     let response = await fetch('http://not-brusselus.be/androidLogin', { 
           method: 'POST', 
           headers: { 
           'Accept': 'application/json', 
           'Content-Type': 'application/json', 
           'X-CSRF-TOKEN':'csrf_field()' 
           }, 
           body: JSON.stringify({ 
           session:{ 
            email: '[email protected]', 
            password: '123456', 
           } 
           }) 
          }); 
     //let res = await response.text(); 
     if (true) { 
     console.log(response); 
     } else { 
      //Handle error 
      //let error = res; 
      //throw error; 
     } 

    } 

応答にlaravelのトークンの不一致ページが表示されます。どのようにしてcsrfトークンを正常に送信できますか?

答えて

2

ハングメインlaravelレイアウトファイルで定義されているwindowのオフCSRFトークン:

...window.Laravel.csrfToken 

編集

window.Laravel = { 
    csrfToken: '{{csrf_token()}}' 
} 

は、それからちょうどあなたのjavascriptの要求であることを使用

downvoterに:これは文字通りLaravelがそれを箱から出して、あなたがよく

+0

トークンは本文またはヘッダーに入りますか? –

+0

@Mongodbあなたは間違いなくそれをヘッダーとして渡すことができます。または、本体に '_token'として渡すことができます。 – Ohgodwhy

関連する問題