【问题标题】:TypeError: res is not a function类型错误:res 不是函数
【发布时间】:2020-02-11 16:51:02
【问题描述】:
exports.signup_submit = function(req,res){ 
    console.log(req.body.username,"------------------"); 
    var sql = "INSERT INTO customers (username) VALUES (req.body.username)"; 
    con.query(sql, function (err, result, fields) { 
        if (err) { 
            return res(err); 
        } else { 
            return res(result); 
        } 
        res.render(__dirname + '/views/success.html');    
});

【问题讨论】:

  • 正确,res 不是函数

标签: javascript html mysql node.js express


【解决方案1】:

res 是对象响应,它包含大量工具和数据,用于您在完成后关闭的响应。

检查节点 API doc

res() 替换为res.end()

或渲染:

exports.signup_submit = function(req,res){ 
  console.log(req.body.username,"------------------"); 
  var sql = "INSERT INTO customers (username) VALUES (req.body.username)"; 
  con.query(sql, function (err, result, fields) { 
       if (err) { 
         return res.render(__dirname + '/views/error.html'); 
        }

       res.render(__dirname + '/views/success.html');    
    });

【讨论】:

  • 为什么要从查询结果回调中返回一个值?
  • 你可以做任何你想做的事,但请记住,没有必要使用 if-else 处理错误第一个回调,你可以使用 if 来处理错误并返回。
【解决方案2】:

您需要使用“res.send”或“res.render” 如果模板上的错误有特殊位置,可以使用 "res.render(path_to_template, error)"

您可以阅读更多关于它的信息here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-26
    • 2013-04-01
    • 2016-03-06
    • 2018-04-28
    • 2019-02-14
    • 2021-10-02
    相关资源
    最近更新 更多