#javascript #jquery #ajax #mongodb
#javascript #jquery #ajax #mongodb
Вопрос:
Я пытаюсь добавить поле MongoDB в $ inc при каждом нажатии кнопки «Нравится». Поскольку нет данных, которые мне нужно передать на сервер (но, может быть, есть?), Я не уверен, какое значение указать для data
ключа в моем .ajax
вызове.
Приведенный ниже маршрут публикации показывает, что я пытаюсь сделать при нажатии кнопки «Мне нравится»:
app.post('/like', function(req,res){
var query = req.session.mostRecentQuiz;
db.collection('mycollection').update(
query, { $inc: {"likes": 1 } }, function (err, result) {
if (err) throw err;
console.log(result);
} );
});
На странице JS:
$("#like").click(function(){
$.ajax({
url: "/like",
method: "POST",
data: , //what would go here?
//I just need to $inc each time "Like is clicked.
success: function(data){
if(data.success){
console.log("success!")
}else{
console.log("failure.")
}
}
})
});
Заранее спасибо за любые ответы.
Ответ №1:
true
для похожих, false
для непохожих
попробуйте что-то вроде этого data: {isLiked: true}
Комментарии:
1. Спасибо!
true
работает, ноfalse
выдает ошибку «селектор должен быть допустимым объектом Javascript». Итак, я создал новый маршрут «/ в отличие», который совпадает с маршрутом «/ like», за исключением того, что он уменьшается на -1, а вызов AJAX для$("#unlike")
имеетdata: true
2. Я также
success:
полностью удалил ключ из вызовов AJAX, поэтому не уверен, что это привелоfalse
к ошибке. Еще раз спасибо!3.вы можете использовать параметр, основанный на
isLiked
true
илиfalse
, увеличивать или уменьшать лайки