我正在从 Net Ninja 的播放列表中学习 Express.js。代码是用JQuery写的,所以在用ES5写的时候,遇到很多问题。
todoController.js
// console.log(req.body.todoDraftHead)
console.log("post")
if (req.body.todoDraftHead!==undefined){
oldTodo.push( {id: oldTodo.length+1, head:req.body.todoDraftHead} );
}
res.json( oldTodo )
})
// if use res.render here, as long as click "/todo" post will be occurring
// if there is one previous POST request which means that
// req.body!==undefined
// use res.json() , res.text(), res.send()
app.delete('/todo/:item', (req, res) => {
oldTodo = oldTodo.filter((value) => {
return (value.head.replace(/ /g, '') !== req.params.item)
})
console.log(oldTodo)
res.json( oldTodo )
})
views.html
function deleteNote(event) {
var target = event.target;
var sibling = target.previousElementSibling;
var text = sibling.textContent.replace(/ /g, '');
fetch(`/todo/${text}`, {
method: "DELETE",
})
.then((response) => {
response.json()
})
.then((response) => {
location.reload();
})
.catch((e) => {
return e;
})
}
每次发生删除请求时,也会触发发布请求。因此,发布请求和删除请求都会影响我的待办事项数组。