我有一个ejs文件,其中包含数据库中的项目列表。而且我正在尝试开发一种搜索,该搜索应仅使用搜索结果来更新此列表。
我正在通过jQuery的ajax函数向服务器发送发布请求。
$(".checkbox").on('click', function(){
let email = $(this).find('input').attr('id')
$.ajax({
url: '/dashboard',
method: 'post',
data:{email:email},
success: function(data) {
alert('success')
}
});
})
发布路线在数据库中执行完整搜索并返回结果。一切正常,但页面中的列表保持不变,尽管我通过render函数发送了不同的json内容。
$text: {
$search: search
},
})
.then(function (results) {
res.render('dashboard', {
name: {},
listagemFuncionarios: results,
check: {}
})
})
.catch(e => console.error(e));
我在这里想念什么?
答案 0 :(得分:1)
问题是ajax请求始终以json的形式获取数据,您无法通过ajax请求来呈现页面,而只能以json形式成功获取数据,然后使用它动态生成html通过Javascript动态创建的DOM元素
假设您这样获得成功函数中的数据
[
{
name:'xyz',
email:'mail@xyz.com'
},
{
name:'xyz',
email:'mail@xyz.com'
}
]
现在您可以遍历这些数据并创建html元素,让我知道是否需要更多帮助