发送后无法设置标头。
我确保我只调用res.send()
一次(或在我的情况下res.json()
)(Can't set headers after they are sent node js)(NodeJs Can't set headers after they are sent)。然后我继续和我的res.json()
一起打电话回来,以便之后不能再打电话。
app.get('/route/:rID/eta', r_cach.route(1), function(req, res) {
routes.eta(req.params.rID, req.query.init).then(r => {
return res.status(200).json({ success: true, data: r});
}).catch(error => {
console.error(error);
return res.status(500).json({ success: false, data: error });
});
});
我在第三个底线(return res.status(500).json({ success: false, data: error });
)上收到错误。我做错了什么?
我没有r_cach
以外的任何其他中间件Express Redis Cache。除了r_cach
之外,我使用以下代码添加了一些额外的标头:
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});