【发布时间】:2020-04-13 16:49:21
【问题描述】:
我正在使用 Node JS、dustjs 和 PostgreSQL 制作网页。如何在 html 中进行搜索查询,以便将值传递给 app.get 我需要使用 JQuery 吗?
app.get('/teachers', function(req, res){
pool.connect(function(err, client, done){
if(err) {
return console.error("error", err);
}
client.query('SELECT * FROM teachers', function(err, result){
if(err){
return console.error('error running query', err)
}
res.render('teacherindex', {teachers: result.rows});
done();
});
});
});
app.get('/teachers/:str', (req,res)=>{
pool.connect((err, client, done) => {
if (err) throw err
client.query('SELECT * FROM teachers WHERE name = $1', [req.query.namesearch], (err, result) => {
done()
if (err) {
console.log(err.stack)
} else {
res.render('teacherindex', {teachers: result.rows});
}
})
})
})
这是我的 JQuery
$("#myBtn").click(function(){
var str = $("#myInput").val();
var url = '/teachers/'+str;
if(confirm('Search Record?')){
$.ajax({
url: url,
type: 'put',
success: function(result){
console.log('Searching');
window.location.href='/teachers';
},
error: function(err){
console.log(err);
}
});
}
});
我的 HTML
<input type="text" id="myInput" data-id="namesearch">
<button type="button" id="myBtn">Show Value</button>
谢谢!
【问题讨论】:
-
从高层次上看,您似乎正确地执行了此操作。将 AJAX 从客户端发送到您的服务器。您的服务器根据客户端发送的内容检索结果,并以这些结果进行响应。你有错误吗?是什么促使您发布这个问题?
-
我能从高层次上看到的唯一一件事是,如果出现错误,您没有响应客户端,您只是将错误记录到控制台。您应该有某种类型的错误处理响应,否则浏览器很可能会永远旋转等待来自您的服务器的响应。
-
是的,我仍然遇到错误。我无法将输入文本框中的值检索到服务器。顺便说一句,我正在做一个大学项目
-
我继续用我找到的所有内容更新了我的答案。如果您有任何问题,请告诉我。
标签: javascript jquery node.js postgresql