文档章节

Jquery+Ajax限制查询间隔

深圳大道
 深圳大道
发布于 2016/12/29 15:38
字数 469
阅读 9
收藏 0
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Jquery20150305.aspx.cs" Inherits="Jquery20150305" %>

<!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>Jquery异步查询加载效果</title>
    <script src="JS/jquery-1.9.1.js" type="text/javascript"></script>
    <link href="Styles/Site.css" rel="stylesheet" type="text/css" />
    <style type="text/css">
    .span_query { cursor:pointer;}
    </style>
    <script type="text/javascript">
        $(function () {
            $(".span_query").click(function () {
                var val = $(this).attr("data-value");
                var id = $(this).attr("id");
                AjaxQuery($(this),val);
            });
        });

        function AjaxQuery(obj, v) {
            $.ajax({
                url: 'Ajax/Handler.ashx?queryType=score&queryValue=' + v,
                type: 'POST',
                dataType: 'text',
                timeout: 10000,
                cache: false,
                beforeSend: LoadFunction,
                error: erryFunction,
                success: succFunction
            })
            function LoadFunction() {
                obj.html('<img src="Images/loading02.gif" />');
            }
            function erryFunction() {
                obj.html('error');
            }
            function succFunction(tt) {
                obj.html('');
                obj.html(tt);
            }
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <table style="width:100%"  class="gvCss">
       <tr class="head"><td style="width:10%;">姓名</td><td style="width:30%;">语文</td><td style="width:30%;">数学</td><td style="width:30%;">英语</td></tr>
       <tr><td>张三</td>
           <td id="query1" title="点击查询" class="span_query" data-value="1">查询</td>
           <td id="query2" title="点击查询" class="span_query" data-value="2">查询</td>
           <td id="query3" title="点击查询" class="span_query" data-value="3">查询</td></tr>
    </table>
    </div>
    </form>
</body>
</html>
<%@ WebHandler Language="C#" Class="Handler" %>

using System;
using System.Web;
using System.Web.SessionState;

//Handler.ashx
public class Handler : IHttpHandler, IRequiresSessionState
{
   
    public void ProcessRequest(HttpContext context)
    {
        context.Response.ContentType = "text/plain";
        string queryType = context.Request["queryType"];
        string queryValue = context.Request["queryValue"];

        if (context.Session["preQuery"] == null) //第一次查询
        {
            context.Session["preQuery"] = queryValue + "@" + DateTime.Now.AddDays(-1);
            context.Session["currQuery"] = queryValue + "@" + DateTime.Now;
        }
        else //存在上次查询
        {
            string[] preStrs = context.Session["currQuery"].ToString().Split('@');
            context.Session["preQuery"] = queryValue + "@" + preStrs[1]; //重置为当前查询参数+上次查询时间
            context.Session["currQuery"] = queryValue + "@" + DateTime.Now;
        }

        string[] strs=context.Session["preQuery"].ToString().Split('@');
        if (strs[0] == queryValue) //同一请求限制查询间隔
        {
            DateTime preTime = Convert.ToDateTime(strs[1]);
            DateTime nowTime = DateTime.Now;
            bool flag = CheckQueryTimeSpan(preTime, nowTime, 3);
            if (flag)
            {
                context.Response.Write("查询间隔3秒");
            }
            else
            {
                context.Response.Write("98");
            }           
        }        
        context.Response.End();
    }

    /// <summary>
    /// 判断本次查询和上次查询间隔是否小于指定秒数
    /// </summary>
    /// <param name="preTime">上次查询时间</param>
    /// <param name="nowTime">本次查询时间</param>
    /// <param name="timeSpan">指定秒数</param>
    /// <returns></returns>
    public bool CheckQueryTimeSpan(DateTime preTime, DateTime nowTime, int timeSpan)
    {
        TimeSpan ts = nowTime - preTime;
        int difference = ts.Seconds;
        bool flag = (difference < timeSpan) ? true : false;
        return flag;
    }
 
    public bool IsReusable {
        get {
            return false;
        }
    }

}


本文转载自:http://blog.csdn.net/smartsmile2012/article/details/44079723

深圳大道
粉丝 3
博文 877
码字总数 0
作品 0
深圳
架构师
私信 提问
PHP,Jquery,两种Ajax请求

先上图: Html: <include file='public:header' /> <div class="mainBt"> <ul> <li class="li1">分类信息</li> <li class="li2">信息列表</li> <li class="li2 li3">编辑</li> </ul> </div> ......

yeahlife
2015/11/30
68
0
jquery+ajax的轻量级框架

最近想学一下jquery+ajax的轻量级框架,在百度上百了一下,没发现什么具体的开源框架,想问问大家,能给我点学习的建议吗?

梦想在飞
2014/04/25
631
4
PHP,Jquery,Ajax城市切换及分类切换(二级分类,三级分类)

效果图如下: 分类 Html代码: // +------------------------------// | 分类// +------------------------------<tr><td align="right">分类:</td><td> <select id="jq_select" name="data......

yeahlife
2015/11/28
1K
0
PHP,Jquery,Ajax,$.(get)

一贯原则(上图): Html: <tr> <td class="lfTdBt">分类:</td> <td class="rgTdBt"> <select name="data[cate_id]" id="jq_cate" class="manageSelect"> <foreach name="channelmeans" it......

yeahlife
2015/12/01
55
0
jquery,从后台查数据,给页面上添加树形。

前台jquery+ajax请求往页面上添加树形的js代码 1 //传入当前点击节点的id,在后台代码查询出parentid=当前节点id的记录数,从而实现点击当前节点,往后台发送ajax请求,查询出子节点的集合,...

无信不立
2014/07/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

读书笔记:深入理解ES6 (五)

第五章 解构:使数据访问更便捷 第1节 为什么使用解构功能?   在ES5中,开发者们从对象、数组中获取特定数据并赋值给变量,编写了很多看起来同质化的代码。例如: 1 let options = {2 ...

张森ZS
15分钟前
15
0
CentOS7 yum方式安装MySQL5.7

在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。 1 下载并安装MySQL官方的 Yum Repository [root@localho...

roockee
23分钟前
11
0
Allegro三种自定义设置快捷键的方法

Allegro自定义设置快捷键的三种方法: 1、在Allegro PCB editor 命令窗口直接定义 2、通过修改用户变量env文件来设置快捷键 3、定义笔画为快捷键 1、在Allegro PCB editor 命令窗口直接定义 ...

demyar
28分钟前
14
0
如何做一张能让人眼前一亮的大屏?

作为在职场驰骋的社会人,提到数据可视化大家应该都不陌生了。数据可视化的作用也不用我多说,主要是利用图形化手段,更清晰直观地将数据展示。多层次、交互式的可视化分析能够方便决策者理解...

朕想上头条
28分钟前
7
0
TL138/1808/6748-EthEVM开发板硬件CPU、FLASH、RAM

TL138/1808/6748-EthEVM是广州创龙基于SOM-TL138/1808/6748核心板开发的一款开发板,具有三个网络接口。由于SOM-TL138/1808/6748核心板管脚兼容,所以此三个核心板共用同一个底板。开发板采用...

Tronlong创龙
33分钟前
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部