相关疑难解决方法(0)

在什么情况下,AJAX长/短轮询优先于HTML5 WebSockets?

我正在为朋友建立一个小型聊天应用程序,但不确定如何及时获取信息,而不是手动或基本上强制刷新页面.

目前,我正在使用简单的AJAX实现这一点,但这有一个缺点,即当一个短计时器过去时经常点击服务器.

在研究长/短轮询时,我遇到了HTML5 WebSockets.这似乎很容易实现,但我不确定是否存在一些隐藏的缺点.例如,我认为WebSockets仅受某些浏览器的支持.我应该注意WebSockets还有其他缺点吗?

既然两种技术似乎都做同样的事情,那么在哪种情况下,人们更愿意使用其中一种?更具体地说,HTML5 WebSockets使AJAX长/短轮询过时,还是有令人信服的理由更喜欢AJAX而不是WebSockets?

javascript ajax html5 network-protocols websocket

298
推荐指数
3
解决办法
11万
查看次数

如何优化(最小化)jQuery AJAX调用

我有来自我的代码的不同功能的50多个AJAX调用.所有这些调用都有类似的结构,具有不同的data/url/callback参数:

var jqXHR = $.post('/dba/port.php', {
        mode: "del_wallfunds",
        pdata: cdata,
        wname: wName
    },
    function (data) {}, "json")
    .done(function (data) {
        var msg = data.msg;
        if (msg.indexOf("Error") == -1) {
            alertify.success(msg);
            delSelected(selGroup);
        } else {
            alertify.error(msg);
        }
    })
    .fail(function () {
        alertify.error("Error .....");
    });
Run Code Online (Sandbox Code Playgroud)

我在想如何编写一个函数来返回var jqXHR以最小化代码的总大小.传递所有静态变量(如URL,错误字符串等)不是问题.但问题是".done"上的所有回调函数都不同,我不知道如何将这些回调函数作为变量传递.

一种方法是在.done上调用单个"通用"函数并将"switch"变量传递给该函数,但它似乎不是一个优雅的解决方案.

有什么建议如何以优雅的方式?

谢谢

javascript ajax jquery

5
推荐指数
1
解决办法
2715
查看次数

标签 统计

ajax ×2

javascript ×2

html5 ×1

jquery ×1

network-protocols ×1

websocket ×1