在 jquery ajax 调用之后,我无法找出如何在 ejs 上创建部分 DOM。该功能是一个非常有效的实时搜索,它将请求发送到服务器,它搜索数据库并返回一个包含基于搜索的用户列表的变量。问题从那里开始,因为 EJS 不再允许部分,并且在 html 上嵌入 javascript 的方式在 jquery 上不起作用,或者至少我不知道如何。我的思想被卡住了,因此非常感谢任何帮助。
这是 Ajax 调用
$.ajax({
url: 'http://localhost:3000/contactsearch',
type: 'post',
dataType: 'text',
data: { searchquery: searchquery}
})
.done(function(res){
var persons = res;
})
该页面由 Express 以这种方式呈现:
exports.search = function(req, res){
res.render('./contacts/search', { title: 'Contact search', persons: persons });
};
该请求返回一个更新的人员变量,我需要为联系人列表生成 html。我尝试了很多方法,但无法实现。页面最初呈现的方式是这样的,所以我不知道如何根据更新的人员变量刷新列表。
HTML 是这样的:
<% if (persons.length) { %>
<% persons.forEach(function(person) { %>
<div class='contactlistusername'><%= person.username %></div>
<% })}%>