При выполнении операций CRUD мы можем выполнить его с form
следующим образом:
<form action="/todo/<%= todos[i]._id %>?_method=DELETE" method="POST">
<button>x</button>
</form>
И контроллер следующим образом:
app.delete('/todo/:id', (req, res) => {
Todo.findByIdAndDelete(req.params.id, (err) => {
if(err) {
console.log(err);
} else {
res.redirect('/todo');
}
});
});
Или мы можем выполнить это с помощьюjQuery следующим образом:
$(document).ready(function(){
$('form').on('submit', function(){
var item = $('form input');
var todo = {item: item.val()};
$.ajax({
type: 'POST',
url: '/todo',
data: todo,
success: function(data){
//do something with the data via front-end framework
location.reload();
}
});
return false;
});
});
В чем разница между этими двумя методами?(игнорируя, что один должен выполнить «удаление», а другой - «опубликовать») Некоторые говорят, что последний более безопасен, чем первый, но не может найти никакой литературы по этому поводу.