更新查询不工作节点js

时间:2016-01-07 22:19:07

标签: mysql node.js

我正在尝试使用我的节点js应用程序中的mysql更新数据库,当我按下按钮但它没有执行。有人可以帮我解决这个问题。谢谢

这是ejs文件中的代码:

function Resolve(){

              $.ajax({
                  url: "/resolve-complaint",
                  type: "post",
                  dataType: "json",
                  data: { "Id": "14" },
                  success: function (data) {
                      if(data.status=="success"){
                          alert(" has been resolved.");
                      }
                  }
              });
          }

这是index.js文件中的代码:

router.post('/resolve-complaint', function (req, res, next) {

pool.getConnection(function (err, connection) {

    connection.query('update complaint set resolved=1 where cid='+req.body.Id, function (err, rows) {
        connection.release();

    });

});
res.json({ "status": "success" });

});

1 个答案:

答案 0 :(得分:0)

始终检查您的err参数。你很可能在那里得到答案。

根据具体情况,做这样的事情通常是个好主意:

... function (err, rows) {
    if (err) return console.error(err); // <---
    connection.release();
});

或者,在你的情况下可能更加认可:

... function (err, rows) {
    if (err) {
        console.error(err);
        return res.send({ "status": "failure" });
    }
    connection.release();
});

这应该针对pool.getConnectionconnection.query进行。

此外,您在知道成功消息是否成功之前发送成功消息。您应该尝试在回调中发送成功消息。