$("#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中的服务器发送请求吗,还是从整体上来说是正确的?请指教。谢谢。
答案 0 :(得分:1)
jQuery $ .get调用返回一个Promise对象,您必须传递回调函数才能正确接收数据。
正确的方式
$("#id_box").blur(function(){
var name = $.get("/profile/:`$("#id_box").val()`",function(data){
console.log(name);
});
});