文档章节

Jquery+Ajax限制查询间隔

深圳大道
 深圳大道
发布于 2016/12/29 15:33
字数 469
阅读 4
收藏 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
66
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

没有更多内容

加载失败,请刷新页面

加载更多

Nginx 快速安装详解

一、Nginx Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамбле...

网络小虾米
8分钟前
3
0
技术分享 | slave_relay_log_info 表认知的一些展开

作者:胡呈清 slave_relay_log_info 表是这样的: mysql> select * from mysql.slave_relay_log_info\G *************************** 1. row *************************** Number_of_lin......

爱可生
10分钟前
2
0
nginx配置http访问自动跳转到https

server {listen 80;server_name www.域名.com;rewrite ^(.*) https://$server_name$1 permanent;}server {listen 443;server_name www.域名.com;root /home/www;ssl on;......

很好亦平凡ms
10分钟前
2
0
SpreadJS:一款中国研发的类Excel开发工具,功能涵盖Excel的 95% 以上

Excel 作为一款深受用户喜爱的电子表格工具,借助其直观的界面、出色的计算性能、数据分析和图表,已经成为数据统计领域不可或缺的软件之一。 基于Excel对数据处理与分析的卓越表现,把Excel...

葡萄城技术团队
11分钟前
2
0
用javafx框架tornadofx做了个天气预报的程序

class WeatherApp : App(WeatherView::class)class WeatherView : View("十五天天气预报") { val weatherVM: WeatherViewModel by inject() val controller: WeatherController by......

oschina4cyy
14分钟前
2
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部