2017-01-26 14 views
1

私はVue.JS 2とLaravel 5.4で動作するAPIを手に入れたいと思っています。私App.vueで は、私は、次のコードを持っている:Vue.js 2、Laravel 5.4、Passport、Axios - API 'GET'の問題

export default { 
    name: 'app', 
    components: { 
    Hello 
    }, 
    created() { 
    const postData = { 
     grant_type: 'password', 
     client_id: 2, 
     client_secret: 'somesecret', 
     username: '[email protected]', 
     password: 'password', 
     scope: '' 
     } 
     this.$http.post('http://localhost:8000/oauth/token', postData) 
     .then(response => { 
      console.log(response) 
      const header = { 
      'Accept': 'application/json', 
      'Authorization': 'Bearer ' + response.body.access_token 
      } 
      this.$http.get('http://localhost:8000/api/test', {headers: header}) 
      .then(response => { 
       console.log(response) 
      }) 
     }) 
    } 
} 

「POST」は何の問題もなく働いている間、私はちょうど働い「GET」取得することはできません。

私はconsole.logは次のことを示しています

Uncaught (in promise) TypeError: Cannot read property 'access_token' 
of undefined at eval (eval at <anonymous> (app.js:810), <anonymous>:33:51) 
(anonymous) @ App.vue?86c0:29 

残念ながら、私はこれが起こっされる可能性がありますなぜ任意の説明を見つけることができませんでした。 誰かが 'access_token'を何か他のものに変更したのか、それともなぜこのようなことが起こっているのかを知りませんか?

希望者:知っている:|

ありがとうございます!

ポール

+0

あなたのGETコードは何ですか? GETを介してリクエスト本文を送信することはできません。パラメータをURLに添付する必要があります。 –

答えて

3

これは私の頭の上から外れています。 しかし、XHRクライアントとしてAxiosを使用している場合、レスポンスボディは 'body'ではなく 'data'パラメータの下にあります。

要約するとaccess_tokenはするあなたの参照は、あなたは以下のリンクを参照することができたり、Laravelアプリケーションを持っている以下のgitリポジトリ

https://github.com/safiahmed4cs/Larave-Passport-with-Vue-Vue-Router-and-axios

と比較することができ

'Authorization': 'Bearer ' + response.data.access_token

0

だろう、Laravel Passport、

Axios、Vue Js、Vue Resourceまた、Vue Routerもインポートされます。

詳細情報が必要な場合や、問題が発生した場合はお知らせください。