【发布时间】:2017-06-02 15:27:21
【问题描述】:
我正在尝试删除表单的数据。 GET 和 PUT 方法有效,但 DELETE 无效。我的目标是使用 JS 函数更改表单 POST 方法,然后使用删除按钮调用它,这样我就可以擦除数据。但它不起作用。 HTML:
<form id="protest_form" action="scout_post" method="POST">
<input type="text" id="scoutName" name="scoutName" placeholder="name"> <br>
<input type="text" id="scoutSurname" name="scoutSurname" placeholder="surname"> <br>
<input type="text" id="scoutPassword" name="scoutPassword" placeholder="password"> <br>
<button type="submit" id="button" class="btn btn-primary">Submit</button>
<button type="button" id="button" class="btn btn-danger" onclick="deleteForm()">Delete</button>
</form>
JS函数:
function deleteForm() {
document.getElementById('protest_form').setAttribute("method", "delete");
document.getElementById('protest_form').submit();
}
还有节点路由:
app.post('/scout_post', urlencodedParser,function (req,res){
var name= req.body.scoutName,
surname=req.body.scoutSurname,
password=req.body.scoutPassword;
db.collection('scoutPost').insertOne(
{ 'name': name, 'surname': surname,'password':password},
function (err, r) {
assert.equal(null, err);
res.send("Document inserted with _id: " + r.insertedId);
}
);
})
app.delete('/scout_post', urlencodedParser,function (req,res){
var name= req.body.scoutName,
surname=req.body.scoutSurname,
password=req.body.scoutPassword;
db.collection('scoutPost').remove(
{ 'name': name, 'surname': surname,'password':password},
function (err, r) {
assert.equal(null, err);
res.send("Document deleted");
});
})
当我单击调用 deleteForm() 函数的按钮时,我收到此错误:
Cannot GET /scout_post?scoutName=&scoutSurname=&scoutPassword=
如果我将 HTML 和 Node 路由更改为 GET 方法,我会插入文档,单击 DEL 按钮时不会被删除...如何解决这个问题?谢谢
【问题讨论】:
标签: javascript node.js