鍍金池/ 問答/Python  HTML/ express中提示Error: Can't set headers after

express中提示Error: Can't set headers after they are sent但依然能正常使用?

通過express-generator生成的項(xiàng)目骨架,在app.js中設(shè)置路由

app.use('/add',add);

在routes/add.js中代碼為:

router.get('/', function(req, res, next) {
    res.render('add');
    next();
});

運(yùn)行程序,一旦訪問/add就會(huì)在控制臺(tái)中報(bào)錯(cuò):

Error: Can't set headers after they are sent

但程序依然能正常使用,請(qǐng)問是什么引起的,怎么解決?

回答
編輯回答
話寡

res.render已經(jīng)輸出渲染視圖了,此時(shí)不應(yīng)該再調(diào)用next,會(huì)傳遞到下一個(gè)方法重復(fù)輸出

2017年11月7日 20:23
編輯回答
萌小萌

可以
return next()
or
return res.json()
使用return 來結(jié)束

2018年9月23日 15:28
編輯回答
舊酒館

請(qǐng)求響應(yīng)處理流程上有問題,你在某個(gè)地方已經(jīng)結(jié)束了這個(gè)req請(qǐng)求,比如使用了 res.end() ,但是在后續(xù)又對(duì)同樣的請(qǐng)求繼續(xù)響應(yīng)。

2018年8月21日 09:02