Mun*_*ren 4 javascript mean node.js express
我在这里表达了一个常见的问题.但我无法从各地获得解决方案.这是我的代码:如果row不为空,则渲染代码页,否则执行另一个操作.
app.get('/send',function(req,res){
var code=req.query['c']; // -- get request from input
connection.query("use mynum");
var strQuery = "select * from table WHERE code='"+code+"' LIMIT 1";
connection.query( strQuery, function(err, rows){
if(err) {
throw err;
}else{
if(rows.length==1){
res.render('pages/code', {code : rows[0].code});
connection.end();
res.end();
}else {
// here is some actions
}
}
});
res.end();
});
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪:
Error: Can't set headers after they are sent.
at ServerResponse.OutgoingMessage.setHeader (http.js:690:11)
at ServerResponse.header (C:\wamp\www\vin_number\node_modules\express\lib\re
sponse.js:666:10)
at ServerResponse.res.contentType.res.type (C:\wamp\www\vin_number\node_modu
les\express\lib\response.js:532:15)
at ServerResponse.send (C:\wamp\www\vin_number\node_modules\express\lib\resp
onse.js:121:14)
at fn (C:\wamp\www\vin_number\node_modules\express\lib\response.js:900:10)
at View.exports.renderFile [as engine] (C:\wamp\www\vin_number\node_modules\
ejs\lib\ejs.js:323:3)
at View.render (C:\wamp\www\vin_number\node_modules\express\lib\view.js:93:8
)
at EventEmitter.app.render (C:\wamp\www\vin_number\node_modules\express\lib\
application.js:530:10)
at ServerResponse.res.render (C:\wamp\www\vin_number\node_modules\express\li
b\response.js:904:7)
at Query._callback (C:\wamp\www\vin_number\server.js:102:6)
Run Code Online (Sandbox Code Playgroud)
您将通过两次发送回复res.end().摆脱第二个,你应该没事.此外,调用res.end()之后res.render()是多余的,因为res.render()默认情况下自动以渲染结果结束响应.
| 归档时间: |
|
| 查看次数: |
13413 次 |
| 最近记录: |