追加提取的ejs项



目标:我有一个按钮,它运行一个函数,从Mongoose数据库加载更多项目,并将它们添加到表行中。我使用get从服务器端获取并返回数据。我正在遵循这篇文章中的指示,但我仍然无法提供我需要的东西。

客户端代码:

<main role="main">
<div class="container-fluid ">
<div class="card-columns" id="test" value="<%=deals%>">
<tbody>
<tr id="content"><% include partials/row.html %></tr>
</tbody>
</div>
</div>
<div class="container" style="max-width: 25rem; text-align: center;">
<a id="8-reload" class="btn more" onclick="loadMore(8)"></a>
</div>
<script >
const loadMore = async function(x){
const response = await fetch(`/${x}`);
if (!response.ok)
throw oops;
const data =await response.text();
console.log(data);
console.log($("#content"));
await document.getElementById('content').insertAdjacentHTML('beforeend',data);
}
</script>

服务器JS请求:

app.get(`/:count`, (req, res) => {
const count = parseInt(req.params.count);
database.find({}, (err, found) => {
if (!err){
res.render("more",{items:found},(err,html)=>{
if(!err){
res.send(html);
}else{
console.log(err);
}
});    
} else {
console.log(err);
}
}).skip(count).limit(25);
});

当运行该函数时,不会发生任何事情,浏览器控制台日志读取html的长字符串。这是我想附加到的地方:

jQuery.fn.init{}proto:对象(0(

服务器控制台日志中没有错误。我错过了什么?

UPDATE我尝试了Appending而不是对内容进行测试,结果发现我正在附加html,只是不是所有内容。int只插入整个html模板的开头和结尾,中间没有任何内容。

好吧,看起来最大的问题是两件事。第一个问题是我附加到了一个内容无法附加的地方。第二个问题是"我的模板"从表行开始,其中包含更多内容,不允许呈现其他内容。一旦我将jquery移动到父id并删除表行,一切都很好!

最新更新