0

我在做Java Chat application

当我的应用程序启动时,我将pingAction()在我的外部 Jquery 中调用。

我使用此站点作为 JQUERY 长轮询的参考 - http://techoctave.com/c7/posts/60-simple-long-polling-example-with-javascript-and-jquery

Jquery pingAction是,

function pingAction(){

    $.ajax(
            {
                type: "post",
                url: "PingAction",
                async:     false,
                data : "userId="+encodeURIComponent(userId)+"&secureKey="+encodeURIComponent(secureKey)+"&sid="+Math.random() ,
                cache:false,
                complete: pingAction,
                timeout: 5000 ,
                contentType: "application/x-www-form-urlencoded; charset=utf-8",
                scriptCharset: "utf-8" ,
                dataType: "html",

                error: function (xhr, ajaxOptions, thrownError) {
                alert("xhr.status : "+xhr.status);

                if(xhr.status == 12029 || xhr.status == 0){
                    //alert("XMLHttp status : "+xhr.status);
                    $("#serverMsg").css("backgroundColor" , "yellow");
                    $("#serverMsg").text("Your Network connection is failed !");
                    $("#serverMsg").show();
                }
                //setTimeout('pingAction()', 5000);
                xhr.abort();
            },

            success: function( responseData , status){
                if($("#serverMsg").text() == "" || $("#serverMsg").text() == "Your Network connection is failed !"){
                    disableServerMessage();
                }

                if(responseData != "null" && responseData.length != 0  && responseData != null){

                    var stringToArray = new Array;
                    stringToArray = responseData.split("<//br//>");
                    var len = stringToArray.length;
                    for(var i=0;i<len-1;i++){
                        getText(stringToArray[i]);

                    }
                }

                //setTimeout('pingAction()', 5000);
            } 

            }                           
    );

}

在使用 之前Long Poling,我将pingAction() in javaScript使用 . 每 5 秒调用一次setTimeInterval()

现在我需要LONG POLLING concept在聊天应用程序中使用(Wait until the server gives the new messages)。所以我修改Jquery pinAction()了你在上面看到的内容。

有什么built in method可以做的Long pollingJQUERY

4

1 回答 1

0

不,jQuery 中没有内置方法来进行长轮询。您将不得不开发自己的代码或找到解决您问题的现有代码。

如果您正在寻找想法,可以从Google 搜索“jQuery 中的长轮询”开始。有很多例子可以借鉴。

于 2013-03-13T07:07:36.690 回答