我可以从此链接获取项目的JSON数据" / items"
app.get("/items", middleware.isLoggedIn, function(req, res) {
Item.findById(req.params.id, function(err, item) {
if(err){
console.log(err);
}else{
res.render("buildings/items", {item : item});
}
});
});
我试过了:
$(document).ready(function(){
$.getJSON("/items")
.then(function(data){
console.log(data);
});
});
但它没有用。
答案 0 :(得分:0)
请将路线的第一行更改为:
app.get("/items/:id", middleware.isLoggedIn, function(req, res) {
然后还将ID传递给您的API:
$(document).ready(function(){
$.getJSON("/items/123")//Don't forget the full API address!
.then(function(data){
console.log(data);
});
});
您可以找到更多信息here。
答案 1 :(得分:0)
您想要使用res.json()
,而不是res.render
。 Res.render读取服务器上的本地文件,并具有将变量注入其中的功能,并将对象指定为参数。
如果您只是想从服务器获取JSON,那么您将使用res.json(data)
。
例如:
app.get('/houses/:id', (req,res,next) => {
const {id} = req.params;
House.findById(id)
.then(data => {
res.json(data)
})
.catch(err => {
console.log(err)
})