Как исправить пустую строку запроса из URL - PullRequest
0 голосов
/ 05 апреля 2019

Я создаю приложение с помощью vue js, express и mongoDB. Я хочу использовать URL-запросы для поиска в коллекции. но я не могу получить запрос от URL

Когда я доберусь до этого URL ../races?title=Stadions, клиент позвонит в службу, чтобы получить маршрут. Я думаю, что это где строка запроса теряется. позвольте мне показать вам.

это код со стороны клиента:

async getRaces () {
      const response = await RacesService.getRaces()
      this.races = response.data.races
    },

RaceService называется

Тогда в RaceService это происходит:

getRaces () {
    return Api().get('races/')
  },

Это вызывает маршрут в файле маршрутов:

router.get('/', (req, res) => {
    ...
})

При выполнении req.query он пуст. И я думаю, это из-за способа, которым я называю маршрут, потому что, если я делаю это в RacesService, он работает правильно:

getRaces () {
    return Api().get('races/?title=Stadions')
  },

Может кто-нибудь помочь мне, как это исправить?

1 Ответ

0 голосов
/ 07 апреля 2019

Я предполагаю, что вы используете vue-router . Если да, то вы можете передать параметры запроса, которые находятся в this.$route.query. Это свойство является объектом, поэтому вам, вероятно, понадобится библиотека, такая как строка запроса , чтобы преобразовать запрос в строку.

Пример кода:

async getRaces () {
  const response = await RacesService.getRaces(this.$route.query)
  this.races = response.data.races
}

//...
import queryString from 'query-string'

getRaces (query) {
  return Api().get('races/?' + queryString.stringify(query))
},

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...