同时Ajax多个请求

the*_*mhz 5 javascript asp.net-ajax

最近我开发了一个项目,我在一个aspx页面上发送了多个ajax请求.我还放了一个计时器,这个请求发生间隔5秒.一切似乎都很好,直到突然响应混乱.我知道我可以用一个请求做同样的事情,但我想知道为什么会这样.我环顾了互联网,但我还没找到任何解决方案.我现在实际上采用了这种编码风格,比如使用多个结果发出一个请求,但我想知道并且我真的想知道如何制作多个ajax请求,响应不会混淆.这是我的示例代码:

 $(document).ready(function () {
        var a = setInterval("request1()", 5000);
        var b = setInterval("request2()", 5000);
    });

function request1() {

        $.ajax({
            url: 'ajaxhandler.aspx?method=method1' ,
            beforeSend: function (xhr) {
                xhr.overrideMimeType('text/plain; charset=utf-8');
            },
            success: function (data) {
                  alert(data);
            }

        });
    }


function request2() {

        $.ajax({
            url: 'ajaxhandler.aspx?method=method2' ,
            beforeSend: function (xhr) {
                xhr.overrideMimeType('text/plain; charset=utf-8');
            },
            success: function (data) {
                  alert(data);
            }

        });
    }
Run Code Online (Sandbox Code Playgroud)

cal*_*inf 5

如果您需要按顺序发生请求,则不应使用AJAX(第一个"a"用于"异步").

要解决此问题,您可以在回调中调用request2()以获取第一个请求的"成功".

function request1() {
    $.ajax({
        url: 'ajaxhandler.aspx?method=method1' ,
        beforeSend: function (xhr) {
            xhr.overrideMimeType('text/plain; charset=utf-8');
        },
        success: function (data) {
              request2();
        }

    });
}
Run Code Online (Sandbox Code Playgroud)