javascript - express 发送后无法设置标题

标签 javascript node.js express mean

我很喜欢这里的常见问题。但我无法从任何地方得到解决方案。 这是我的代码:如果行不为空,则呈现代码页,否则执行另一个操作。

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

堆栈跟踪:

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)

最佳答案

您通过 res.end() 发送了两次响应。摆脱第二个,你应该没事。此外,在 res.render() 之后调用 res.end() 是多余的,因为 res.render() 会自动以渲染结束响应默认结果。

关于javascript - express 发送后无法设置标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27658997/

相关文章:

javascript - 如何清除 Javascript 中的单选按钮?

javascript - 当我运行 "npm intsall grunt-cil -g"时出现错误 404

javascript - 使旧链接在 Express 中向后兼容

node.js - 将中间件与express()一起使用。与express.static一起使用

javascript - 使用 Express.js app.post 请求不起作用

javascript - 如何使用基于下拉选择的单选按钮显示数据?

javascript - jQuery - 是否可以在等式中使用第 n 个 child 数?

javascript - 在 Smart Mobile Studio 中为 Box2D 对象添加颜色

node.js - 如何在多个 Node js服务器之间发出消息

javascript - 如何发送json格式到服务器