【问题标题】:Fast consecutive XmlHttpRequest doesnt work快速连续 XmlHttpRequest 不起作用
【发布时间】:2019-07-28 15:51:17
【问题描述】:

我有一个代码,当单击 div 时,XmlHttpRequest 被发送到 PHP 脚本,并且一些数据被发回。当客户端收到响应时,一些 CSS 工作就完成了。但是,如果我单击一个 div,然后在一秒钟后单击另一个,则第二个不会触发事件。

我该如何解决这个问题?

xmlhttp请求完成后有没有办法释放内存?

这是我的mousedown 事件函数:

.on("mousedown",function () {


                var idgroup = $("#group_" + idBlock).val();
                var idProf = $(this).attr("name");
                if (window.XMLHttpRequest) {

                    // code for IE7+, Firefox, Chrome, Opera, Safari
                    xmlhttp = new XMLHttpRequest();
                } else { // code for IE6, IE5

                    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
                xmlhttp.onreadystatechange = function () {

                    if (this.readyState == 4 && this.status == 200) {
                 // css color change is done here
                    }
                }
                xmlhttp.open("GET", "../dnd_jq/getProfTime.php?idprof=" + idProf + "&idgroup=" + idgroup);
                xmlhttp.send();


            }

【问题讨论】:

  • // code for IE6, IE5 -- 回忆!还有噩梦......但说真的,看起来你已经在使用 jQuery,那你为什么不使用 $.ajax() 呢?
  • 我尝试使用 $.ajax(),它变得更慢了
  • var 限定您的 xmlhttp 并查看是否有任何变化。
  • 同样的问题...
  • 它工作,当数据很少时,但当数据变大时,它变慢或不起作用

标签: php jquery ajax xmlhttprequest


【解决方案1】:

XHR 对象很有可能不能仅在它仍在等待请求时触发。 我要做的是为每个请求创建 2 个 XHR 对象? 附言我对 XHR 很陌生,而且解释能力很差,所以请对我的回答持保留态度!

【讨论】:

    猜你喜欢
    • 2015-12-28
    • 1970-01-01
    • 1970-01-01
    • 2021-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多