我有两个表,一个表用于用户,一个表用于待办事项,单击todo按钮时,我使用以下代码获取所有待办事项。我想使用相同的功能来获取所有用户。
index.html:
displayItems() {
fetch('/getItems',{
method: "get",
}).then(response => {
return response.json();
}).then((data)=>{
this.items = data
});
}
app.js:
app.get('/getItems', (req,res)=>{
db.getDB().collection(tableName).find({}).toArray((err,documents)=>{
if(err)
console.log(err);
else {
console.log(documents);
res.json(documents);
}
});
});
只要我在app.js中设置tableName
,此方法就可以正常工作,但随后我必须编写单独的函数才能从两个不同的表中获取项目。
当我在index.html中调用fetch时,是否有一种方法可以传递表名,具体取决于单击哪个按钮?
答案 0 :(得分:1)
您将参数发送到displayItems
函数,并像
get paramater
的形式发送
displayItems(tableName) {
fetch('/getItems?table='+tableName,{
method: "get",
}).then(response => {
return response.json();
}).then((data)=>{
this.items = data
});
}
然后您可以像
一样使用req.query
在服务器端进行访问
app.get('/getItems', (req,res)=>{
db.getDB().collection(req.query.table).find({}).toArray((err,documents)=>{
if(err)
console.log(err);
else {
console.log(documents);
res.json(documents);
}
});
});