我正在尝试根据删除响应的状态代码呈现带有错误消息的 H1 标签。唯一的问题是,我所有的 UI 都在 /todo/:filename 端点中,所以渲染是有意义的,因为它是在 /todo/:filename/:todoId 端点上完成的。
有没有办法将 html 渲染到不同的 URL?
这是我获取和删除请求的代码:
app.get("/todo/:filename", (req, res) => {
try {
const { filename } = req.params;
globalFilename = filename;
const readPath = path.join(__dirname, `/todo/${filename}`);
var data = JSON.parse(fs.readFileSync(readPath));
data = data.map((obj) => ({ ...obj, filename }));
if (res.statusCode !== 200) {
res.render("todo-list", { data, filename: filename, failed: true });
}
res.render("todo-list", { data, filename: filename, failed: false });
} catch (error) {
console.log(error);
}
});
app.delete("/todo/:filename/:todoId", (req, res) => {
const { todoId, filename } = req.params;
const readPath = path.join(__dirname, `/todo/${filename}`);
var data = JSON.parse(fs.readFileSync(readPath));
data.splice(todoId, 1);
fs.writeFile(readPath, JSON.stringify(data), function (err) {
// if (err) {
res.write("<h1>Error<h1>");
// }
// res.json({ message: "successfully removed!" });
});
});
编写更好代码的任何技巧也非常感谢,谢谢!