zoukankan      html  css  js  c++  java
  • Ajax长轮询

    前台代码:

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Wait.aspx.cs" Inherits="Web监听.Wait" %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title></title>
        <link href="/JS/easyui/easyui.css" rel="stylesheet" type="text/css" />
        <script src="/JS/jquery.min.js" type="text/javascript"></script>
        <script src="/JS/easyui/jquery.easyui.min.js" type="text/javascript"></script>
        <script src="/JS/SimpoWindow.js" type="text/javascript"></script>
        <script type="text/javascript">
            var longPollingCount;
    
            $(function () {
                longPollingCount = 1;
                $("#msg").html("" + longPollingCount + "次请求......");
    
                longPolling();
            });
    
            function longPolling() {
                $.ajax({
                    type: "POST",
                    url: "Check.aspx?action=check",
                    dataType: "text",
                    timeout: 5000,
                    error: function (XMLHttpRequest, textStatus, errorThrown) {
                        longPollingCount++;
                        $("#msg").html("" + longPollingCount + "次请求......");
    
                        if (textStatus == "timeout") { // 请求超时
                            longPolling(); // 递归调用
                        } else { // 其他错误,如网络错误等
                            $("#msg").html(textStatus);
                            longPolling();
                        }
                    },
                    success: function (data, textStatus) {
                        var parent = SimpoWin.GetWinParent();
                        $("#txt").html("操作完成......");
                        $("#txt").css("color", "red");
    
                        setTimeout(function () {
                            SimpoWin.closeWin();
                            parent.next(data);
                        }, 1000);
    
                    }
                });
            }
        </script>
    </head>
    <body style="background-color: White;">
        <form id="form1" runat="server">
        <div id="txt" style="text-align: center; vertical-align: middle; margin-top: 20px;
            margin-bottom: 20px; font-weight: bold;">
            请等待......
        </div>
        <div id="msg" style="text-align: center; vertical-align: middle;">
        </div>
        </form>
    </body>
    </html>
    View Code

    后台代码:

    using System;
    using System.Threading;
    
    namespace Web监听
    {
        public partial class Check : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                string action = Request["action"];
                switch (action)
                {
                    case "check":
                        while (true)
                        {
                            if (Common.flag < 160)
                            {
                                Common.flag++;
                                Thread.Sleep(100);
                            }
                            else
                            {
                                Response.Write("操作完成返回信息");
                                Response.End();
                                break;
                            }
                        }
                        break;
                }
            }
        }
    }
    View Code
  • 相关阅读:
    API下载文件
    c# 测试网络连接
    C# Word 插入签名图片
    c# word文档合并
    c# 文件筛选
    e
    基本初等函数(Basic elementary function)
    前端性能优化学习
    解决点击穿透的最佳实践
    ObjectARX通过选定的实体获取所有组名示例
  • 原文地址:https://www.cnblogs.com/s0611163/p/4122911.html
Copyright © 2011-2022 走看看