ExpressJS响应中间件

我为前端发送了一个HttpInterceptor,它发送每个请求的默认头文件,并自动为每个请求加上body / url,后端中间件检查头文件并在需要的时候解密数据包。现在我与响应中间件有问题,因为我只想为一些请求发送带有encryption主体的响应。

app.use((req,res,next)=>{ if(req.headers['x-data-encoded'] && (req.headers['x-server'] == "HP")){ res.append('X-Encoded-Data', true); var nsp = res.send; res.send = function(data){ var body = Crypto.encodeData(data); // Result a string of letters and numbers nsp.apply(this, body); } } next(); }); 

findexception:在非对象上调用TypeError:CreateListFromArrayLike

我认为,出现错误,因为发送方法等待一个对象,它正在接收一个string。 如果你手动分配一个对象,这个错误应该消失或改变到另一个。

另外,apply的第二个参数应该是一个数组。

希望能帮助到你