所以,我有这个 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/