Javascript:将变量从客户端发送到express.js

时间:2018-07-18 13:35:37

标签: javascript node.js express

我无法将变量从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)
    })
})
有人可以帮我吗?

谢谢

4 个答案:

答案 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