javascript - Post请求在服务器端返回未定义

标签 javascript jquery mysql node.js post

所以,我有这个 POST 请求

$("#pacotes").on('click', ".produto", function () {
    console.log(this.id);
    $.post("http://localhost:3000/pacote?idPacote=" + this.id);
});

日志在客户端返回一个数字,这是应该的。

邮件然后经过我的路线到达这里

exports.Pacote = function (req, res) {
    console.log("gato");
    var pacote = req.idPacote;
    console.log(pacote);
    connection.connection();
    global.connection.query('SELECT * FROM Pacote WHERE idPacotes = ? LIMIT 1', [pacote], function (err, result) {
    if (result.length > 0) {
         if (result) {
              var object = JSON.parse(JSON.stringify(result));
              var packObject = object[0];
              if (result.length > 0) {
              if (result) {
                   res.render('home', { title: 'pacote', layout: 'pacote', data: packObject  });
              }
         }   
     } else if (err) {
      console.log(err);
     }
   };
   });
}

第一个日志只是一个标志,用于查看它是否到达了该点,它是 但是第二个日志应该返回一个数字,但它返回未定义

我在这个主题上不是很有经验,但这一直对我有用。 我不明白我在哪里有所不同,因为我的登录函数几乎是相同的,并且按预期返回实际值。也许是因为 bodyparser,但我不知道。

令我烦恼的是,id 在客户端正确返回,但在服务器端未定义

我也尝试了同样的事情,但是使用 GET 并且结果没有改变

最佳答案

您正在查询字符串中传递“idPacote”。如果您将 Express 与 NodeJS 结合使用,您将在“req.query”中获取查询字符串参数。试试这个

var pacote = req.query.idPacote;

而不是

var pacote = req.idPacote;

关于javascript - Post请求在服务器端返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44728517/

相关文章:

javascript - $(窗口).resize();不起作用

javascript - Greasemonkey 脚本编译器显示错误

javascript - 如何使用 Angular.js 在单个类中添加多个条件

javascript - 使用提示框中的输入并将其保存到数据库

javascript - Jquery mobile获取listview选择的项目并将其文本发送到另一个页面

javascript - 通过回调返回变量

php - 选择类别的所有项目及其子类别中的所有项目

mysql - 关于查询和子查询

mysql - 视频和图像数据的缓存 - Couchbase

javascript - 使用 javascript 变量作为 addthis :url 的 url