У меня есть «страница заказов», где должны появляться заказы, которые можно изменить с помощью ajax без перезагрузки страницы. Как мне сделать это, чтобы изменить конкретный логический в mongoDB нажатием кнопки? Также мне нужно обновлять страницу каждый раз, когда появляется новый заказ без перезагрузки страницы.
Отлично работает с перезагрузкой страницы с маршрутизацией, но мне нужен AJAX.
script.js
$('.confirm').click(function(){
event.preventDefault();
event.stopPropagation();
$.ajax({
url: 'order/' + $(this).attr('data-id') + '/confirm',
type: 'POST',
contentType: 'application/json',
success: function(){
}
});
});
index.ejs
<form class="confirm" data-id="<%= order.id %>" method="POST">
<button class="btn btn-success btn-lg" type="submit"><i class="fas fa-check"></i> Priimti</button>
</form>
orders.js
router.post('/order/:id/confirm', isLoggedIn, function(req, res){
Order.findOneAndUpdate({_id: (req.params.id)}, { $set: { isConfirmed: true, isDone: false } }, { returnOriginal: false }, (err, result) => {
if (err){
console.log(err);
}
});
});
Таким образом, сайт должен обновлять параметры заказов, такие как isConfirmed, с false на true в mongoDB одним нажатием кнопки без перезагрузки. Также ВСЕ заказы должны появляться на сайте без перезагрузки.