【发布时间】:2015-09-15 02:49:38
【问题描述】:
我正在学习我的 Node js 技能。
我想通过单击按钮向 mongodb 添加一些数据。
客户端代码如下所示:
$(function() {
$('#add').click(function(){
$.ajax({
type: "GET",
url: "/item/<%= products._id %>/add"
}).done (function (data) {
alert(data);
console.log(data);
});
});
});
<button type="submit" id="add" class="btn btn-primary">Interessted</button>
这样的服务器端代码:
app.get('/item/:id/add', function(req, res) {
Listing.findByIdAndUpdate(
{ _id : req.params.id},
{ $push : {"product.interessteduser": req.user._id }},
{ safe: true, upsert: true},
function(err, model) {
if(err){
console.log(err);
}
});
});
代码非常适合我,但如果我稍等片刻,我会在控制台中收到另一个请求。
看起来像这样:
GET /item/557eec02aa1046b805190207/add 200 120001ms
GET /item/557eeb82aa1046b805190206/add 200 120000ms
所以每次请求 /item/:id/add 并等待 120000 毫秒时,我都会收到另一个请求。如何阻止这种情况?
我想在执行 /item/557eeb82aa1046b805190206/add 获取请求后点击按钮,仅此而已。
【问题讨论】:
标签: jquery ajax node.js mongodb