C# 取消同步的Ajax查询?

C# 取消同步的Ajax查询?,c#,jquery,html,ajax,C#,Jquery,Html,Ajax,我正在开发一个报表应用程序,它从我制作的aspx中获取数据。为了显示数据,它对该页面使用ajax查询。根据传递的参数,任务可能需要很长或很短的时间 在那之前一切都很好。此jquery代码出现问题: <script type="text/javascript"> $(document).ready(function () { $('.preload').preload(); $('.preload').each(function () {

我正在开发一个报表应用程序,它从我制作的aspx中获取数据。为了显示数据,它对该页面使用ajax查询。根据传递的参数,任务可能需要很长或很短的时间

在那之前一切都很好。此jquery代码出现问题:

<script type="text/javascript">
    $(document).ready(function () {

        $('.preload').preload();
        $('.preload').each(function () {
            var obj = $(this);
            $.ajax({
                type: 'GET',
                url: 'GetCounter.aspx',
                success: function (data) {
                    obj.replaceWith(data);
                },
            });
        });

    });
</script>

$(文档).ready(函数(){
$('.preload').preload();
$('.preload')。每个(函数(){
var obj=$(本);
$.ajax({
键入:“GET”,
url:'GetCounter.aspx',
成功:功能(数据){
对象替换为(数据);
},
});
});
});
问题是它们是同步运行的,即使我将ajax调用设置为“async:true”。选择器中的第一个会运行,第二个会运行,依此类推,即使它们都会同时被调用,因为Firebug会在“网络”选项卡中显示所有GET请求

你知道这里有什么问题吗

提前谢谢!
-DARKGuy

你并不是真的在谈论AJAX。你说的是多线程Javascript执行,我相当肯定Javascript并没有真正执行多线程


这可能对您很有用:

这取决于您的浏览器一次发出一个请求-与您的代码无关。真的吗?有没有办法避免这一点和archieve我想要什么?我想我见过其他网站这样做,但我记不起是哪一个。你是说链接Ajax请求吗?好吧,他们被链接了,我不想这样做,我实际上希望他们一次运行,并在完成时用结果替换div的内容,单独,而不是顺序。什么是
.preload
呢?嘿,谢谢你的链接。据我所见,它使用setinterval()在循环中运行函数,虽然不忙,但不会挂起浏览器。幸运的是我没有这个问题。如我所见(尚未测试),如果我将ajax调用放入虚拟循环,它将在不阻塞浏览器的情况下运行,但其他ajax调用将不会运行,因为busy不会为false。不,不。。。只是想说明一下:除非您自己编写web Worker,否则Javascript是单线程引擎。