Vue.js 2, Laravel 5.4, Passport, axios - API 'GET' 问题

Vue.js 2, Laravel 5.4, Passport, axios - API 'GET' Problems

我想得到一个 API 与 Vue.JS 2 和 Laravel 5.4 一起工作。 在我的 App.vue 中,我有以下代码:

export default {
  name: 'app',
  components: {
    Hello
  },
  created () {
    const postData = {
      grant_type: 'password',
      client_id: 2,
      client_secret: 'somesecret',
      username: 'my@mail.com',
      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' 更改为其他内容或者为什么会这样吗?

希望有人知道:|

提前致谢!

保罗

这超出了我的想象。 但我敢肯定,如果你使用 axios 作为你的 XHR 客户端,你的响应正文在 'data' 参数下,而不是 'body'.

总之,您对 access_token 的引用是

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

你可以参考下面的link或者你可以和下面的git仓库比较

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

有 Laravel 应用程序,Laravel 护照,

还导入了 Axios、Vue Js、Vue Resource 和 Vue Router,

如果您需要更多信息或遇到任何问题,请告诉我。