Получить данные по идентификатору, используя Axios и VueJS - PullRequest
0 голосов
/ 16 ноября 2018

У меня есть эта функция get на моей стороне сервера, которую я хочу использовать, чтобы получить конкретную запись в моей базе данных, указав идентификатор в качестве параметра. В своем приложении VueJS я написал get-call Axios, но он не дает мне никаких данных. Это только говорит

"Невозможно получить ...".

Я знаю, что ID, который я даю, правильная, так что это не проблема.

на стороне клиента :

loadData() {
     axios.get('http://localhost:8080/route', {
        params: {
            id: this.selectedRoute
        }
     })
     .then(response => (this.chosenRoute = response.data));
}

Серверный

app.get('/route/:id', function(req, res) {
    const routeId = req.params.id;
    Route.findById(routeId, (err, route) => {
        res.set("Access-Control-Allow-Origin", "*");
        res.json(route);
    });
});
    enter code here

1 Ответ

0 голосов
/ 16 ноября 2018

Попробуйте что-то вроде этого, объединив id, который this.selectedRoute, в url:

  loadData() {
     axios.get('http://localhost:8080/route/'+ this.selectedRoute)
              .then(response => (this.chosenRoute = response.data));
}

В вашем последнем вопросе у вас есть это:

      <select name="routeSelect" v-model="selectedRoute">
          <option v-for="routes in result" v-bind:key="routes.name" v- 
           bind:value="routes.name"> {{ routes.name }} </option>
      </select>

это не работает, потому что selectedRoute - это маршрут name, который не является id, чтобы решить, что вы должны сделать это:

          <option v-for="routes in result" v-bind:key="routes.name" v- 
           bind:value="routes.id" >...

, связав опции выбора value к идентификатору маршрута

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