GET 方法在 passportjs 集成后不起作用
GET method not working after passportjs integration
我在 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 todos in JSON format
console.dir(res);
});
});
调试时我发现 'res' 对象的 'statusCode' 字段保存数据。这绝对是错误的。可能是因为这个原因,它没有在 angular 端收到。
例如
{
...
statusCode:
[ { index: Mon Jan 19 2015 09:33:54 GMT+0530 (India Standard Time),
text: 'hello',
_id: 23ffs2sdfsdd64c0834534,
__v: 0 } ]
}
在controller.js我还有一个方法:
Todos.get()
.success(function(data) {
console.info("Data received from server:");
console.dir(data);
});
这里我得到 '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);
});
});
我在 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 todos in JSON format
console.dir(res);
});
});
调试时我发现 'res' 对象的 'statusCode' 字段保存数据。这绝对是错误的。可能是因为这个原因,它没有在 angular 端收到。 例如
{
...
statusCode:
[ { index: Mon Jan 19 2015 09:33:54 GMT+0530 (India Standard Time),
text: 'hello',
_id: 23ffs2sdfsdd64c0834534,
__v: 0 } ]
}
在controller.js我还有一个方法:
Todos.get()
.success(function(data) {
console.info("Data received from server:");
console.dir(data);
});
这里我得到 '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);
});
});