jQuery Ajax调用for循环,无法正常工作

时间:2013-06-05 15:05:08

标签: c# asp.net jquery

<div>
    <span id="lbl" style="font-size: 20px; color: red"></span>
</div>

我写了下面的ajax调用,

    for (var i = 0; i < 20; i++) {
        $.ajax({
            type: "POST",
            url: "WebForm1.aspx/CallMe",
            data: "{req: '" + i + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",                
            success: function (data) {
                $("#lbl").append(" " + data.d);                    
            }
        });
    }

在代码隐藏中设置了一个断点,如下所示 -

enter image description here

CallMe方法在循环中被调用了20次。当第一次通话时,我按F5,但是在客户端没有获得值,其他几个F5点击但客户端没有返回值。

允许代码执行5次后,我在客户端中obtain 4-5 values at once ..

我尝试在jQuery.ajax中设置cache:false,但没有帮助..

任何建议都会非常有用!!

1 个答案:

答案 0 :(得分:0)

即使是ajax请求也是同步发送的,但响应可能不会按照发送的顺序返回。我的猜测是你要模拟同步请求和响应,然后一种方法是将ajax调用嵌套在success块中。

$.ajax{(
    data: 'req:1',
    success: {
        $.ajax{(
            data: 'req:2',
            success: {
                data: 'req:3',
                ...
            )}
     )}
)}