Я просмотрел все связанные посты и потратил много времени на поиски, но пока не нашел решения. Я пытаюсь создать шаблон ejs, но, похоже, ничего не происходит. Мой код:
Внешний скрипт:
$('#search').click(function(){
var query =$('#search-query').val();//get value from searchbar
var url = '/search/' + query;
$.ajax({
url: url,
type:'GET',
success: function(data){
console.log('success');
},
error: function(){
console.log('error');
})
}
Backend:
app.get("/search/:query", function(req, res){
var query = req.params.query;
Note.find({course: query}, function(err, foundNotes){//search database
if(err){
console.log(err);
} else {
console.log(foundNotes);//this displays the expected results from searching the database
res.render('search.ejs', {notes: foundNotes});//appears to do nothing
console.log('upload');//this also gets logged
}
})
});
Обычно при нажатии кнопки я хочу, чтобы она отправляла запрос GET к пути '/ search /: query' со значением во входных данных в качестве поискового запроса. Затем я ищу в базе данных и затем отображаю шаблон ejs, который отображает результаты поиска.
Проблемной строкой является res.render ('search.ejs, {notes: foundNotes}). Кажется, он ничего не делает. Если я ввожу путь вручную, он работает, но, похоже, он не работает при нажатии кнопки. Я думаю, что здесь может не хватать ключевой концепции.
Любая помощь будет принята с благодарностью!