基本上,我有客户端 javascript,它将用户与页面的交互触发的发布请求(通过 jQuery)发送到我的 node.js 服务器。node.js 服务器然后处理请求并更新数据库中的内容。
出于某种原因,我达到了在单个页面加载中可以发送到服务器的帖子数量的限制。此最大值为 6。从页面发送 6 个帖子后,尝试发送更多请求时出现以下错误:
编辑:
尝试发送超过 6 个请求后,这些红色错误在我的 Javascript 控制台中弹出:
send jquery-latest.js:8526
jQuery.extend.ajax jquery-latest.js:7978
jQuery.(anonymous function) jquery-latest.js:7614
haveLikedOrDislikedObject
(anonymous function) localhost:33
fire jquery-latest.js:1037
self.fireWith jquery-latest.js:1148
done jquery-latest.js:8074
callback
我发送帖子的代码:(基本上一个监听器附加到许多div,当它被点击时,发送一个帖子请求)
//Sets on click listener for like button of content
$(document).delegate("div[id^='likeDiv']", "click", function() {
var el = this;
$.getScript("public/javascripts/load_content.js", function(){
haveLikedOrDislikedObject(0, $(el).attr('name'), theUser);
});
});
function haveLikedOrDislikedObject(res, contentNumber, user){
if(user != undefined){
if(res == 0){
$.post("/likeContent", { content: contentNumber, user: user.UserID });
$("#haveLikedDiv_" + contentNumber).text("You like this.");
} else{
$.post("/dislikeContent", { content: contentNumber, user: user.UserID });
$("#haveLikedDiv_" + contentNumber).text("You dislike this.");
}
} else{
$("#haveLikedDiv_" + contentNumber).text("Sorry, something went wrong.");
}
};
只是想知道为什么我会得到这个限制?另外,关于如何解决这个问题,或者其他方式从单个页面向我的服务器发送大量内容有什么想法吗?
已解决: 原来我没有从我的服务器发回任何东西,我认为这意味着每个帖子都在等待响应,因此发出 6 个打开请求。因此,请确保您从服务器发送回一些东西,即使它是这样未定义的:
app.post('/likeContent', function(req, res){
res.send(undefined);
});