您好,我是新手,并且希望对此有所帮助。当我查询数据时,我将帆与sails-mongo适配器配合使用,并在我的控制器上使用帆,它返回的状态还可以,并且我可以记录数据,但是当我尝试返回响应时,该对象为空。我尝试了不同类型的res,例如res.send()
res.status(200).send(
)res.json()
res.ok()
。
这是一个示例控制器方法:
class UserController {
/**
* Create User
* @param {*} req
* @param {*} res
* @returns {User|Error}
*/
static async create (req, res) {
var data = _.pick(req.body, ['username', 'password']);
Object.assign(data, { status: false });
try {
await User.create(data).fetch();
res.status(200).send('User created successfully.');
} catch (error) {
res.status(400).send(error.message);
}
}
/**
* Get all active users
* @param {*} req
* @param {*} res
* @returns {[]User|Error}
*/
static async getActive (req, res) {
try{
const users = await User.find({ status: true });
console.log(users);
return res.status(200).json(users);
} catch(error) {
res.status(500).send(error.message);
}
}
}
module.exports = {
create: UserController.create,
getActive: UserController.getActive,
}
我可以看到日志返回,但是响应是这样的:
[
{}
]
答案 0 :(得分:0)
如果您的请求来自Ajax表单,则必须使用操作而不是控制器。也许您可以尝试.json({user:user})。我对帆也很陌生,我已经遇到了一些奇怪的错误和帆事^^。也许会奏效,让我知道。
答案 1 :(得分:0)
如果您使用的是Mac,并且文件已被复制,则可能有一些隐藏的属性弄乱了您的逻辑。我搜寻了一个类似的问题数小时,但最终对我有用的是删除受影响的模型并手动键入代码。这对我来说还没有意义,但是可以,也许有人知道发生了什么事可以解释