【发布时间】:2018-05-26 16:08:35
【问题描述】:
我刚刚浏览了一个教程并制作了一个简单的restful api。之后,我在我的数据库中添加了一个管理员用户。当我运行服务器时,身份验证工作,但如果我尝试通过浏览器的 api 访问数据,我会得到永恒的“等待来自本地主机的响应”。既然我已经在 mongodb 中包含了用户身份验证,我不确定我还需要做什么才能处理请求。
var MongoClient = require('mongodb').MongoClient;
MongoClient.connect("mongodb://admin:password@localhost/bookstore?authSource=admin");
app.get("/", function(req, res){
res.send("Hello World");
});
访问 localhost:3000/ 时,我看到了 hello world,但 localhost:3000/api/books 不会返回任何内容
app.get("/api/books", function(req, res){
Genre.getBooks(function(err, books){
if(err){
throw err;
}
res.json(books);
});
});
这里是 getBooks 函数
module.exports.getBooks = function(callback, limit){
Book.find(callback).limit(limit);
};
【问题讨论】:
-
您的错误处理程序是否返回任何内容?
-
不,它没有。这就是为什么我很迷茫,不知道从哪里开始寻找问题
-
你有错误处理程序吗?
-
我问的原因是......要么没有到达路线,要么抛出错误,要么正在返回 json。 “什么都没有”发生的可能性很小。
-
您的症状,“我得到永恒的“等待来自本地主机的响应”” 表明您没有以导致发送响应的方式处理错误给客户。
标签: javascript node.js mongodb restful-authentication