我无法将变量从js应用程序发送到node.js服务器。 这是我的代码:
//client side
$.get('http://smart-shopper.ro/messages?from=lastGeneralTimeStamp', datas => {
console.log("data este " + datas)
})
//and server side:
app.get('/messages/:from', (req, res) => {
let lastGeneralTimeStamp = req.parms.from;
var sql = `select * from chat where data > '${lastGeneralTimeStamp}' order by id ASC `;
con.query(sql, (err, result) => {
if (err) throw err;
// res.send(result);
res.send(result);
console.log(result)
})
})
谢谢
答案 0 :(得分:5)
您正在执行GET操作: http://smart-shopper.ro/messages?from=lastGeneralTimeStamp
这是名称为from的查询参数。要访问查询参数,您不能使用
let lastGeneralTimeStamp = req.parms.from;
但是
req.query.<name_of_query_param>
在您的情况下为
req.query.from
答案 1 :(得分:1)
尝试使用req.query
代替req.params
。
According to this documentation是访问查询字符串的方式。
答案 2 :(得分:1)
您正在以查询字符串形式传递数据,但是服务器端的API是以参数形式监听数据。
在客户端更改请求:
//client side
$.get('http://smart-shopper.ro/messages/lastGeneralTimeStamp', datas => {
console.log("data este " + datas)
})
//and server side:
app.get('/messages/:from', (req, res) => {
let lastGeneralTimeStamp = req.params.from;
var sql = `select * from chat where data > '${lastGeneralTimeStamp}' order by id ASC `;
con.query(sql, (err, result) => {
if (err) throw err;
// res.send(result);
res.send(result);
console.log(result)
})
})
或服务器端API:
//client side
$.get('http://smart-shopper.ro/messages?from=lastGeneralTimeStamp', datas => {
console.log("data este " + datas)
})
//and server side:
app.get('/messages', (req, res) => {
let lastGeneralTimeStamp = req.query.from;
var sql = `select * from chat where data > '${lastGeneralTimeStamp}' order by id ASC `;
con.query(sql, (err, result) => {
if (err) throw err;
// res.send(result);
res.send(result);
console.log(result)
})
})
答案 3 :(得分:0)
可能的错字:req.params.from
不是req.parms.from