首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多异步请求

多异步请求
EN

Stack Overflow用户
提问于 2013-08-14 10:31:19
回答 1查看 42关注 0票数 1

总之,我正在开发一个需要对UI内容进行部分更新的DashBoard,我试图用异步Jquery.ajax实现它,但是我发现异步请求完全不起作用。所有的内容只有在最后一次修改完成后才会更新。所以我做了一个小测试,试图找出它发生了什么。

下面是我的密码。请复习一下。

在asp.net页面中。

代码语言:javascript
复制
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
    <script language="javascript" type="text/javascript">
        $(function () {
            $("#btnMultipleRequest").bind("click", function () {
                $("#imgLoading").show();
                $("#divResponse").empty();
                loopRequest();
            });

            $("#imgLoading").hide();
        });

        function loopRequest() {
            var arr = [1, 2, 3, 4, 5];
            $.each(arr, function () {
                var i = this;
                $.ajax({
                    type: "Get",
                    async: false,
                    url: "server.aspx?waittime=" + i,
                    success: function (data) {
                        $("#divResponse").append("<br>" + data);
                        if (data == "5") {
                            $("#imgLoading").hide();
                        }
                    }
                });
            });
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <input id="btnMultipleRequest" value="BeginMultipleRequest" type="button" />
        <img src="img/wait.gif" id="imgLoading" alt=""/>
        <div id="divResponse">
        </div>
    </div>
    </form>
</body>
</html>

在代码隐藏代码中

代码语言:javascript
复制
protected void Page_Load(object sender, EventArgs e)
    {
        string sTime = Request.Params["WaitTime"];
        if (!string.IsNullOrEmpty(sTime))
        {
            Thread.Sleep(int.Parse(sTime) * 1000);
            Response.Write(sTime);
        }
    }

测试结果是,它只在firefox中工作,我的意思是在firefox中,所有请求都是独立的,页面更新不会等待所有请求的响应完成。但不能在IE和Chrome上工作。因为页面将被更新,直到最后一次请求结束。我不知道我是不是错过了什么,请帮帮我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-14 10:49:27

您在这里所做的是使用async false调用ajax调用,这使得它是同步的,因此请尝试修改代码并删除async: false,

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18229339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档