Socket.io EJS中的无限滚动
正如标题所说,我正在尝试使用ejs在我的页面上实现无限滚动 现在,我已经将它设置为从数据库向页面呈现有限数量的项 快速JS端:Socket.io EJS中的无限滚动,socket.io,ejs,infinite-scroll,Socket.io,Ejs,Infinite Scroll,正如标题所说,我正在尝试使用ejs在我的页面上实现无限滚动 现在,我已经将它设置为从数据库向页面呈现有限数量的项 快速JS端: app.get(`/`, (req, res) => { database.find({}, (err, items) => { if (!err){ res.render("home",{cards:items}); } else { console.log(err); }
app.get(`/`, (req, res) => {
database.find({}, (err, items) => {
if (!err){
res.render("home",{cards:items});
} else {
console.log(err);
}
}).limit(20);
});
在EJS端,我通过forEach循环将项目显示在EJS中
<%cards.forEach((i) => {%>
<p><%=i.contents%></p>
<%})%>
服务器
socket.on("loadmore", (count) => {
linkscr.amazon.find({},(e,found)=>{
if(!e){
const data = found;
socket.emit("loadmore", data);
}
}).skip(count).limit(10);
});
现在我有另外十项我想尝试进入running for循环,但据我所知,我看不出如何做,因为我正在为request函数运行函数。我有办法做到这一点吗 看起来在这种情况下不需要使用套接字,一个api就足够了。得到响应后,使用js或jquery追加到列表中。如何追加到列表中?这是我的主要问题。我无法将从客户端js获取的数据添加到呈现的服务器js数据中,因此我重写了所有内容,现在我无法插入html。我把它写在另一个线程中,我非常沮丧地接近解决这个问题。
socket.on("loadmore", (count) => {
linkscr.amazon.find({},(e,found)=>{
if(!e){
const data = found;
socket.emit("loadmore", data);
}
}).skip(count).limit(10);
});