限制发布请求数(Javascript + node.js + jQuery)

时间:2013-03-11 16:09:51

标签: javascript jquery ajax node.js

基本上我有客户端javascript,它将用户与页面的交互触发的post请求(通过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);
    });

1 个答案:

答案 0 :(得分:2)

原来我没有从我的服务器发回任何内容,我认为这意味着每个帖子都在等待响应,因此发出6个打开的请求。因此,请确保从服务器发回一些内容,即使它未定义如下:

app.post('/likeContent', function(req, res){
   res.send(undefined);
});