Хобрук: Ваш путь к мастерству в программировании

Vue.js 2, Laravel 5.4, Passport, axios - Проблемы API 'GET'

Я связываюсь, чтобы получить 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: '[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' на что-то другое или почему это происходит?

Надеюсь, кто-нибудь знает: |

Заранее спасибо!

Павел


  • Какой у вас код GET? Вы не можете отправить тело запроса через GET. Вам нужно прикрепить параметры к URL-адресу. 26.01.2017

Ответы:


1

Это не в моей голове. Но я уверен, что если вы используете axios в качестве клиента XHR, ваше тело ответа находится под параметром data, а не body.

Таким образом, ваша ссылка на access_token будет

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

26.01.2017

2

Вы можете обратиться к следующей ссылке или сравнить с репозиторием git ниже

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

у которого есть приложение Laravel, Laravel Passport,

Также импортируются Axios, Vue Js, Vue Resource и Vue Router,

Сообщите мне, если вам потребуется дополнительная информация или у вас возникнут проблемы.

01.02.2017
Новые материалы

Создание кнопочного меню с использованием HTML, CSS и JavaScript
Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

Внедрите OAuth в свои веб-приложения для повышения безопасности
OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

Классы в JavaScript
class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

Как свинг-трейдеры могут использовать ИИ для больших выигрышей
По мере того как все больше и больше профессиональных трейдеров и активных розничных трейдеров узнают о возможностях, которые предоставляет искусственный интеллект и машинное обучение для улучшения..

Как построить любой стол
Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...

Обзор: Машинное обучение: классификация
Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

Разработка расширений Qlik Sense с qExt
Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..