【问题标题】:Assign the value of a function to a variable将函数的值赋给变量
【发布时间】:2016-09-15 09:02:18
【问题描述】:

我正在尝试将 MySQL 查询的结果分配给一个变量,以便我可以将它发送到一个发布请求。

这是我的代码:

// mysqlCRUD.js

buscarUsuario: function(usuario, cb) {
   console.log(usuario);
   con.query('SELECT * FROM usuarios WHERE nick = ?', usuario,  function(err, results) {
     return cb(null, results.length);
   });
},

//index.js

router.post('/comprobarUsuario', function(req, res, next) {
   resultado = mysqlCRUD.buscarUsuario(req.body.nick, function(err, data){
     return data;
   });
   res.send(resultado);
});

post 请求来自一个 jquery:

$.post('/comprobarUsuario', { nick: nick}, function(data) {
    console.log("Respuesta Usuario: " + data);
});

但我不知道为什么结果永远不会到达 post 请求。 谁能帮帮我。

【问题讨论】:

  • 没有命中/comprobarUsuario ?
  • 是的,它确实命中了 /comprobarUsuario,但数据从未到达 jquery post 请求。

标签: jquery mysql node.js express


【解决方案1】:

来自文档http://expressjs.com/en/4x/api.html

body参数可以是Buffer对象、String、对象或Array。

router.post('/comprobarUsuario', function(req, res, next) {
    mysqlCRUD.buscarUsuario(req.body.nick, function(err, data){
       return res.send(data.toString());
    });
});

【讨论】:

  • 更改您的建议,但我的 jquery 发布请求仍然没有数据。
  • 试试这个,让我知道console 的输出。
  • 非常感谢您,以下是回复:请求:andres 数据:1 表示不推荐使用 res.send(status):使用 res.sendStatus(status) 代替 routes\index.js:55: 19 POST /comprobarUsuario 1 55.048 毫秒 - -
  • 这个应该可以帮到你。
  • 耶!谁真棒,你真棒。我已经为此延迟了 2 天。完美工作。非常感谢:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-11-08
  • 2021-12-04
  • 1970-01-01
  • 2018-03-12
  • 2018-07-08
  • 1970-01-01
  • 2017-09-13
相关资源
最近更新 更多