在将ID输入到输入字段中后,从Postgresql中获取数据

时间:2018-10-24 16:52:28

标签: jquery database postgresql express

$("#id_box").blur(function(){
      var name = $.get("/profile/:`$("#id_box").val()`");
      console.log(name);     //just to see what I get from database
    }
});

这是我的html形式的jquery。我有一个输入框,供用户插入ID号。输入ID后,我正在尝试使该名称生效。

<input id="id_box" type="number" onkeypress='return event.charCode >= 48 && event.charCode <= 57' placeholder="Enter id" name="id_box" autofocus />

这是带有jQuery的html中的<input>

app.get('/profile/:user_id', function(req, res){
  database.select('*').from('users').where({user_id})
  .then(users=> {
    if(users.length){
      res.json(users[0]);
    } else {
      res.status(400).json('Not found');
    }
  })
  .catch(err => res.status(400).json('Error getting user'))
});

这是我server.js中的路由代码。我正在使用节点expressjs和postgresql。我收到状态500,但无法获取json数据。我是在向jquery中的服务器发送请求吗,还是从整体上来说是正确的?请指教。谢谢。

1 个答案:

答案 0 :(得分:1)

jQuery $ .get调用返回一个Promise对象,您必须传递回调函数才能正确接收数据。

正确的方式

$("#id_box").blur(function(){
      var name = $.get("/profile/:`$("#id_box").val()`",function(data){
          console.log(name);
      });
   });