【问题标题】:Javascript long polling event handlerJavascript 长轮询事件处理程序
【发布时间】:2015-03-04 12:55:25
【问题描述】:

我有长时间轮询的具体问题。我希望能够将事件侦听器附加到文档,以检查成功的长轮询请求并给我 json 结果作为回调函数的返回。可以使用jquery或纯js吗?假设我不能修改任何js代码,只能添加事件处理程序。

【问题讨论】:

  • 如果你不能改变任何JS代码,用jQuery或纯JS真的很难做到吗?
  • 我的意思是我想在现有代码中添加功能,而不做任何更改。
  • 能否请您发布您到目前为止所尝试的内容?此外,jQuery 是用 JS 编写的,这意味着使用 jQuery 可以实现的一切也可以使用 vanilla JS :)
  • 你说的是Ajax请求吗?
  • 不,长轮询一个

标签: javascript jquery long-polling


【解决方案1】:

您可以使用 jQuery 的 ajaxComplete() 方法来侦听任何返回的 XHR(ajax 请求)。 http://api.jquery.com/ajaxcomplete/

$( document ).ajaxComplete(function(event, xhr, settings) {

});

【讨论】:

  • 谢谢,不过我试过了,不是AJAX请求,而是长轮询
  • 什么意思?触发调用的代码是什么?
  • 我可能会不认真,但我在缩小的代码中找不到这个,我尝试过但没有成功。我所看到的是,在 xhr 选项卡中的 chrome 开发人员工具中,每隔 40 毫秒就会不断发出获取请求。
  • 那么,如果它们是 XHR 请求,为什么我的回答不相关?
  • 我不确定,它只是没有用。我通过覆盖 XMLHttpRequest.prototype 的属性找到了解决方案。
【解决方案2】:

我终于能够通过重写 XMLHttpRequest.prototype 的属性来解决这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多