javascript - Node.js 快速删除 href 路由不起作用
问题描述
我的删除路线有问题。它无法从 index.js 获取 /delete/{{id}} 路由
我已经阅读了 express 文档,我必须编写与文档相同的代码,但它仍然无法正常工作
输入.hbs
<main>
<div class="container">
<h1>Hasil Input</h1>
<table class="table">
<thead>
<tr>
<th>Nama</th>
<th>NIM</th>
<th>Action</th>
</tr>
</thead>
<tbody>
{{#each data}}
<tr>
<td>{{name}}</td>
<td>{{nim}}</td>
<td>
<a href="delete/{{key}}" class="btn btn-danger">Delete</a>
</td>
</tr>
{{/each}}
</tbody>
</table>
</div>
</main>
index.js
app.post('/delete/(:id)', (req,res,next) => {
id = req.params.id;
ref = database.ref('Person/'+id );
ref.remove()
res.redirect('/input')
})
它仍然显示这样的消息
Cannot GET /delete/-LbdQOw7xbv_Vrp0OD-u
解决方案
你可以使用 delete 方法来做到这一点,这里是一个简单的例子。
假设有一个成员类。
在服务器端:
router.delete('url/:id',(req,res) => {
const found = members.some(member => member.id === parseInt(req.params.id));
if(found){
// Do something
res.json( { msg: "member deleted",members: members.filter( member => member.id !== parseInt(req.params.id))});
}
else{
res.status(400).json( { msg: `No member with the id of ${req.params.id}`})
}
});
在客户端,您可以使用 Ajax
$.ajax({
url: 'url/id',
type: 'DELETE',
success: function(result) {
// Do something
}
});
推荐阅读
- python-3.x - 如何在绘图漏斗中再添加 1 种细分颜色?
- node.js - 我如何实现 NodeJS “你的意思是”功能?
- python - 导入 bs4 ModuleNotFoundError:没有名为“bs4”的模块
- c# - C# RSA 解密参数不正确
- python - 如何停止“Pylance 扩展程序可用”弹出窗口?
- python - 错误“/usr/local/lib/python3.10/subprocess.py”
- php - SQLSTATE [42S22]:未找到列:1054 未知列“有子句”中的“claimtrc”
- sql - 如何将长选择语句插入或更新到列中?
- biztalk-2016 - BizTalk Orch/SMTP - Microsoft.XLANGs.BaseType.Content 必须是
- python - 如何将我的结果从 GAMS 传输到 Python?