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);
    });
});