javascript - Sails.js 响应不返回对象字段
问题描述
您好,我是新来的风帆,希望得到一些帮助。我正在使用带有sails-mongo适配器的sails,并且在我的控制器上当我查询数据时它返回正常并且我可以很好地记录数据但是当我试图返回响应时对象是空的。我尝试过不同类型的 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,
}
我可以在日志中看到返回,但响应是这样的:
[
{}
]
解决方案
如果您的请求来自 Ajax 表单,则必须使用 Action 而不是 Controller。也许您可以尝试 .json({user: user}) 。我也是风帆新手,我已经在风帆中遇到了一些奇怪的错误和事情^^。也许它会起作用,让我知道。
推荐阅读
- spring-boot - 如何使用 Spring Boot Maven 插件仅执行映像构建
- java - 使用 Value("classpath:asterisks") 解释阅读资源
- java - StringTokenizer 上的意外行为
- javascript - 使用浏览器原生“后退”按钮关闭带有 JS 的模态窗口
- postgresql - 即使在使用我的 IP 地址更改了安全类之后,AWS 与 pgAdmin 的连接“超时已过期”错误
- html - 创建一个允许播放 2 个音频文件的音频元素
- c# - 使用 Microsoft.Azure.Management.ServiceBus 获取队列消息计数
- html - 如何在html中以较低的分辨率对齐表格
- java - GCP 支持来自 Cloud App Engine、Cloud Run 托管应用程序的所有 Content-Type:有什么方法可以简单地减少 Content-Type 传递的想法?
- redux - 在异步调用期间应该何时更新 redux 存储?