ajax错误只发送第一个请求

时间:2013-09-29 14:00:21

标签: javascript jquery ajax

$('#show_mess').click(function (){
        $('#dropdown_mess').slideToggle("slow");
        $('#arrow_mess').slideToggle("slow");
        $('#arrow_not').hide("slow");
        $('#dropdown_not').hide("slow");

        function recall(){ setTimeout(function () {  

        xmlhttp = new XMLHttpRequest();

                xmlhttp.open("GET", "http://localhost/ajax/mess_data.php", true);

                xmlhttp.onreadystatechange = function () {

                        if(xmlhttp.readyState == 4 && xmlhttp.status == 200) {

                                document.getElementById('dropdown_mess').innerHTML = xmlhttp.responseText;
                            }       
                    }

                xmlhttp.send();
                document.getElementById('dropdown_mess').innerHTML = "<img class='non_auto' id='ajax_loading' src='img/ajax_loading.gif'></img>";

                recall();

                }, 2000);
            }; 

                recall();
    });

这个函数工作正常但是当每个ajax调用完成后我需要colse并重新操作chrome以便工作,在firefox中工作正常

1 个答案:

答案 0 :(得分:2)

你已经在使用Jquery了,为什么不尝试下面的ajax功能

$.ajax({
    url: "test.html",
    context: document.body
}).done(function() {
    ....
});

您可以在manual

上找到更多信息