首页 > 解决方案 > 如何为每个帖子自动创建带有新 URL 的子页面 [NodeJS]

问题描述

我有一个无限滚动的主页,它从 MySQL 数据库中获取带有获取请求的帖子并使用 javascript 插入它们。

for(var a = 0; a < reslength; a++){
        html += `<div class="post">`;
            html += `<div class="meta">`;
                html += `<div class="op">` + results[a].username + `</div>`;
                html += `<div class="date">` + results[a].time + `</div>`;
            html += `</div>`;
        html += `<h2 class="post-title">` + results[a].title + `</h2>`;
        html += `<div class="content">`;
            html += `<p class="post-content">` + results[a].content + `</p>`;
        html += `</div>`;

        html += `<div class="attachment-container">...</div></div>`;
        };
        document.querySelector('.container').insertAdjacentHTML('beforeend', JSON.parse(JSON.stringify(html)));
    }

我将如何做到这一点,以便如果您单击帖子,它将为帖子提供一个专用页面,并带有自己的自定义 URL(计划是在那里有回复和统计信息)。

我猜我需要已经准备好一个 URL 来将它包裹在 JS 周围?您如何为每个帖子自动执行此操作?

标签: javascriptmysqlnode.jsposts

解决方案


无论您使用什么来托管网站,您都可以在一个函数中处理请求,并从请求中传递的信息中读取帖子 ID。您没有提到您正在使用的后端 Web 框架,只是它是基于 NodeJS 的,但本文将解释如何使用 ExpressJS 中的参数和查询来完成它:

https://coursework.vschool.io/express-params-and-query/

然后,要自定义提供的内容,您可以使用Pug之类的模板引擎根据给定的帖子自定义返回的内容。


推荐阅读