首页 > 解决方案 > 如何从 SailsJS 中的 Actions2 函数访问 req 对象?

问题描述

我想使用 SailsJS 独立操作中的会话信息(来自我使用 req.session 的控制器。<session variable name>

但是从一个独立的动作 ( Actions2 ) 中,您不使用 (req, res) 定义函数,而是使用 (inputs, exits) 定义函数。

标签: sails.js

解决方案


NeoNexus DeMortis 是正确的,我只是遇到了这个,并认为我可以提供一个替代方案。Sails 使用一个名为 machine-as-action 的模块,它允许您访问请求对象而无需传递env给函数。在不传入的情况下,env您可以通过调用this.req或访问 req 和 res 函数this.res

https://sailsjs.com/documentation/concepts/actions-and-controllers#actions2

另外,据我所知,将 res 与 actions2 一起使用的唯一原因是设置自定义响应标头(this.res.set('Name-Of-Header', 'whatever value you want for header'))——或者一个像 this.res.type('image/png') 这样的便捷方法,它告诉用户代理(例如浏览器)如何处理下载。无论设置“内容处置”的方法是什么(这只是意味着您是否要指示浏览器尝试在浏览器中打开它(它可能会或可能不会这样做,具体取决于其功能)或总是鼓励它跳过甚至试图打开它,总是只是做“文件另存为”,即使它可以自己打开,比如 PDF)


推荐阅读