jQuery+Ajax实现限制查询间隔的方法


Posted in Javascript onJune 07, 2016

本文实例讲述了jQuery+Ajax实现限制查询间隔的方法。分享给大家供大家参考,具体如下:

<%@ 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;
    }
  }
}

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
js类的静态属性和实例属性的理解
Oct 01 Javascript
JS拖动技术 关于setCapture使用
Dec 09 Javascript
解析JavaScript中的标签语句
Jun 19 Javascript
javascript禁用Tab键脚本实例
Nov 22 Javascript
js获取客户端网卡的IP地址、MAC地址
Mar 26 Javascript
js获取指定日期周数以及星期几的小例子
Jun 27 Javascript
一个JavaScript用逗号分割字符串实例
Sep 22 Javascript
node.js中的http.response.getHeader方法使用说明
Dec 14 Javascript
JS中的Replace方法使用经验分享
May 20 Javascript
自定义require函数让浏览器按需加载Js文件
Nov 24 Javascript
JS弹性运动实现方法分析
Dec 15 Javascript
微信小程序分享小程序码的生成(带参数)以及参数的获取
Mar 25 Javascript
JavaScript实现九九乘法表的简单实例
Jun 07 #Javascript
javascript如何定义对象数组
Jun 07 #Javascript
jQuery控制div实现随滚动条滚动效果
Jun 07 #Javascript
bootstrap输入框组代码分享
Jun 07 #Javascript
javascript 数组的定义和数组的长度
Jun 07 #Javascript
jQuery实现按钮点击遮罩加载及处理完后恢复的效果
Jun 07 #Javascript
原生js三级联动的简单实现代码
Jun 07 #Javascript
You might like
php简单静态页生成过程
2008/03/27 PHP
PHP 分页原理分析,大家可以看看
2009/12/21 PHP
php浏览历史记录的方法
2015/03/10 PHP
php将日期格式转换成xx天前的格式
2015/04/16 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
Laravel 5.4.36中session没有保存成功问题的解决
2018/02/19 PHP
js汉字转拼音实现代码
2013/02/06 Javascript
JavaScript?Apple设备检测示例代码
2013/11/15 Javascript
小议JavaScript中Generator和Iterator的使用
2015/07/29 Javascript
跟我学习javascript的严格模式
2015/11/16 Javascript
jQuery toggle 代替方法
2016/03/22 Javascript
jQuery flip插件实现的翻牌效果示例【附demo源码下载】
2016/09/20 Javascript
js学习总结_选项卡封装(实例讲解)
2017/07/13 Javascript
js使用html2canvas实现屏幕截取的示例代码
2017/08/28 Javascript
详解基于Koa2开发微信二维码扫码支付相关流程
2018/05/16 Javascript
详解js静态检查工具eslint配置文件
2018/11/23 Javascript
针对Vue路由history模式下Nginx后台配置操作
2020/10/22 Javascript
[37:35]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第二局
2016/02/25 DOTA
MySQL中表的复制以及大型数据表的备份教程
2015/11/25 Python
Python使用multiprocessing实现一个最简单的分布式作业调度系统
2016/03/14 Python
python制作企业邮箱的爆破脚本
2016/10/05 Python
Python算法应用实战之队列详解
2017/02/04 Python
go和python变量赋值遇到的一个问题
2017/08/31 Python
对django xadmin自定义菜单的实例详解
2019/01/03 Python
学习python可以干什么
2019/02/26 Python
十个Python练手的实战项目,学会这些Python就基本没问题了(推荐)
2019/04/26 Python
Python values()与itervalues()的用法详解
2019/11/27 Python
pyenv虚拟环境管理python多版本和软件库的方法
2019/12/26 Python
python except异常处理之后不退出,解决异常继续执行的实现
2020/04/25 Python
python如何实现word批量转HTML
2020/09/30 Python
Microsoft Advertising美国:微软搜索广告
2019/05/01 全球购物
设计师大码女装:11 Honoré
2020/05/03 全球购物
《飞向蓝天的恐龙》教学反思
2014/04/09 职场文书
员工教育培训协议书
2014/09/27 职场文书
2014年基建工作总结
2014/12/12 职场文书
标准发言稿结尾
2019/07/18 职场文书