假设我有一个带有标题和正文的articleModel。我有一个获取路径来呈现所有设置的列表:
app.get("/articles", function(req, res) {
articleMode.find()
.then(function(articles) {
res.render("articles.ejs", {articles: articles});
});
});
该视图包含嵌入式JS代码,用于显示锚标记内的文章列表。每篇文章都有一个单独的div标签。
我希望根据点击了锚标记的文章,将文章标题和正文呈现到该div中。但是,我不想将用户重定向到另一个页面(即路由到" / articles /:id");我想在同一页面上动态地提供此服务(即保留在" / articles")。
我记得多年前使用jQuery和Ajax,但是我很久没有完成它了,我的搜索没有达到我需要的水平。我正在寻找如何完成这一过程的大致概述。
答案 0 :(得分:0)
这将要求您在点击时添加一个事件处理程序,该处理程序从单击的元素中获取href
属性。然后你可以向该URL发出ajax请求并将其附加到dom。这是一个基本概要:
// The click handler
$('a.article-link').click(function (e) {
// Prevent navigation
e.preventDefault();
// Grab the href
let $this = $(this);
let href = $this.attr('href');
// Make the request
$.get(href)
.done(function (response) {
// Append the response to the parent of the a tag
$this.closest('.article-content').append(response);
});
});