как передать строки запроса, чтобы получить запросы с API выборки - PullRequest
0 голосов
/ 03 июля 2018

поэтому я отправляю действие после входа в систему и использую метод получения, чтобы получить учетную информацию, которая используется для запуска другого запроса на выборку. запрос направляется на сервер правильно, а получатель возвращает соответствующие данные, однако req.query на сервере просто возвращает [object Object]. это код:

геттер в компоненте:

  created () {
    this.$store.dispatch('user/setFriends', {email: this.userInfo.email})
  },
  computed: {
 ...mapGetters('user', {
   userInfo: 'user_info'
  })
}

действия:

async setFriends ({
commit
}, email) {
  try {
    let request = new Request(`http://localhost:3000/users?id=${encodeURIComponent(email)}`)
    await fetch(request)
    await (r => r.data)
    await (r => commit('setFriends', r))
  } catch (error) {
    console.error(error.r)
  }
}

обработчик маршрута

router.get('/', function (req, res, next) {
  console.log(req.query.id)
});

другая попытка получения запроса

  var url = new URL('http://localhost:3000/users')
  var params = {
    id: email
  }
  url.search = new URLSearchParams(params)

  await fetch(url)

Я также прочитал эту ссылку Установка строки запроса с помощью запроса Fetch GET при консультации о том, как писать строки запроса с помощью fetch. любая помощь будет оценена, спасибо

1 Ответ

0 голосов
/ 03 июля 2018

проблема здесь в том, что полезную нагрузку при отправке действия не нужно передавать как объект, вместо передачи

created () {
this.$store.dispatch('user/setFriends', {email: this.userInfo.email})
},

просто значение

created () {
this.$store.dispatch('user/setFriends', this.userInfo.email)
},
...