我在服务器端具有此get函数,我想通过将ID作为参数来获取数据库中的特定条目。在我的VueJS应用程序中,我编写了一个Axios get-call,但它没有提供任何数据。它只说
“无法获取...”。
我知道我给函数提供的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
答案 0 :(得分:1)
通过将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
绑定到路由ID