首页 > 解决方案 > Nodejs,将插入后的值发送到数据库,但在此之后,浏览器等待本地主机。

问题描述

尝试将值插入 mysql 数据库,到目前为止我可以插入值,但插入后,浏览器会出现“等待本地主机”的无限循环。我试图关闭连接 - con.end(); 但这并不能解决问题。

app.post('/insert', function(req, res) {
  currentdate = req.body.date;
  weight = req.body.weight;
  console.log("Connected!");
  var sql = "INSERT INTO WEIGHT_LOG (DATE, WEIGHT) VALUES ('" + currentdate + "', '" + weight + "')";
  con.query(sql, function(err, result) {
    if (err) throw err;
    console.log(sql);
    console.log("1 record inserted");
  });
});

标签: javascriptmysqlnode.jsinsert

解决方案


你的方法不是永远没有回应。

您必须调用res.status(200).send()以响应 HTTP 200 状态代码并关闭与客户端的连接。您应该查看Express 文档以了解中间件的工作原理。

此外,您将“con”数据库对象与 HTTP 服务器和客户端之间的连接混淆了。通过调用con.end(),您将关闭 HTTP 服务器和数据库之间的连接。


推荐阅读