SailsJS:在传递给蓝图之前从URL中删除参数

时间:2015-01-17 18:39:39

标签: node.js express sails.js

我们正在构建一个应用程序,它使用SailsJS作为后端,使用ExtJS作为前端。 ExtJS自动将这些参数附加到来自其网格的每个AJAX请求: _dc = 1421519546371&安培;页= 1&安培;开始= 0&安培;限制= 25

我需要在传递给蓝图操作之前在Sails端删除这些参数,以便我可以利用蓝图REST API。哪里是删除这些参数的最佳位置?我可以将NGINX反向代理视为一种选择,但我确信Sails中有更好的位置。

1 个答案:

答案 0 :(得分:3)

在帆中,最简单的地方是用政策删除它们。

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

如果您这样选择,您也可以添加自己的中间件来替换/删除它们。