Javascript passportjs集成后GET方法不起作用
我在route.js中有以下REST方法Javascript passportjs集成后GET方法不起作用,javascript,json,angularjs,rest,passport.js,Javascript,Json,Angularjs,Rest,Passport.js,我在route.js中有以下REST方法 app.get('/api/todos', isAuthenticated, function(req, res) { DB.TodoTable.find() .exec(function(err, todos) { res.json(todos, function(err){ if (err) console.log(err); }); // return all todo
app.get('/api/todos', isAuthenticated, function(req, res) {
DB.TodoTable.find()
.exec(function(err, todos) {
res.json(todos, function(err){
if (err) console.log(err);
}); // return all todos in JSON format
console.dir(res);
});
});
调试时,我发现'res'对象的'statusCode'字段保存数据。这绝对是错误的。也可能是因为这个原因,它在角的一侧没有被接收到。
例如
在controller.js中,我有另一种方法:
Todos.get()
.success(function(data) {
console.info("Data received from server:");
console.dir(data);
});
这里我得到的“数据”是“”。这在passportjs集成之前就已经起作用了
这真的是passportjs的原因吗。如果没有,我怎么能让它工作呢 在从'res.json'方法调用中删除回调后,我实现了这一点 在这种情况下,回调会导致意外行为。不确定这背后的确切原因是什么 但以下工作:
app.get('/api/todos', isAuthenticated, function(req, res) {
DB.TodoTable.find()
.exec(function(err, todos) {
res.json(todos); // return all todos in JSON format
console.dir(res);
});
});
不,不是因为护照。您是否处理
statusCode
,例如,一些中间件,如已验证?@vesse不,我没有在任何地方使用过它。哦,对不起,我甚至没有看那个部分。是的,您不能回调res.json
。它仍然可以,因为在以前的版本中,您也可以为它提供statusCode
,即res.json(400,{status:“error”})代码>无问题。我想我会再试一次。它成功了。(非常感谢)
app.get('/api/todos', isAuthenticated, function(req, res) {
DB.TodoTable.find()
.exec(function(err, todos) {
res.json(todos); // return all todos in JSON format
console.dir(res);
});
});