SailsJS:在传递给蓝图之前从 URL 中删除参数
SailsJS: delete parameters from URL before passing to blueprint
我们正在构建一个应用程序,它使用 SailsJS 作为后端,使用 ExtJS 作为前端。 ExtJS 自动将这些参数附加到来自其网格的每个 AJAX 请求:
_dc=1421519546371&page=1&start=0&limit=25
我需要在 Sails 端删除这些参数,然后再将它们传递给蓝图操作,以便我可以利用蓝图 REST API。删除这些参数的最佳位置在哪里?我可以将我的 NGINX 反向代理视为一种选择,但我确信在 Sails 中有更好的地方。
在 sails 中,最简单的地方是使用策略删除它们。
RemoveParams.js
module.exports = function(req, res, next) {
if(req.query._dc) delete req.query._dc
// ect ....
next();
};
使用未记录 req.options 的替代方法。我没有用过这个,但它似乎有效并且在评论中被推荐。
module.exports = function(req, res, next) {
req.options.values.blacklist = ['_dc']
// or req.options.values.blacklist.push('_dc') ??
next();
};
如果您愿意,也可以添加自己的中间件来替换/删除它们。
我们正在构建一个应用程序,它使用 SailsJS 作为后端,使用 ExtJS 作为前端。 ExtJS 自动将这些参数附加到来自其网格的每个 AJAX 请求: _dc=1421519546371&page=1&start=0&limit=25
我需要在 Sails 端删除这些参数,然后再将它们传递给蓝图操作,以便我可以利用蓝图 REST API。删除这些参数的最佳位置在哪里?我可以将我的 NGINX 反向代理视为一种选择,但我确信在 Sails 中有更好的地方。
在 sails 中,最简单的地方是使用策略删除它们。
RemoveParams.js
module.exports = function(req, res, next) {
if(req.query._dc) delete req.query._dc
// ect ....
next();
};
使用未记录 req.options 的替代方法。我没有用过这个,但它似乎有效并且在评论中被推荐。
module.exports = function(req, res, next) {
req.options.values.blacklist = ['_dc']
// or req.options.values.blacklist.push('_dc') ??
next();
};
如果您愿意,也可以添加自己的中间件来替换/删除它们。