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 相关文章推荐
jQuery Ajax之load()方法
Oct 12 Javascript
ajax java 实现自动完成功能
Dec 19 Javascript
JS正则表达式获取分组内容的方法详解
Nov 15 Javascript
鼠标移到div,浮层显示明细,弹出层与div的上边距左边距重合(示例代码)
Dec 14 Javascript
JavaScript给按钮绑定点击事件(onclick)的方法
Apr 07 Javascript
jQuery实现手机号码输入提示功能实例
Apr 30 Javascript
JavaScript Date 知识浅析
Jan 29 Javascript
jQuery插件zTree实现单独选中根节点中第一个节点示例
Mar 08 Javascript
Omi v1.0.2发布正式支持传递javascript表达式
Mar 21 Javascript
JavaScript实现淘宝京东6位数字支付密码效果
Aug 18 Javascript
详解小程序rich-text对富文本支持方案
Nov 28 Javascript
JavaScript 中的执行上下文和执行栈实例讲解
Feb 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
山进SANGEAN ATS-909X电路分析
2021/03/02 无线电
PHP中Session的概念
2006/10/09 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十五)
2014/06/30 PHP
PHP使用SOAP调用API操作示例
2018/12/25 PHP
Laravel框架Eloquent ORM修改数据操作示例
2019/12/03 PHP
PHP大文件分割分片上传实现代码
2020/12/09 PHP
jQuery中校验时间格式的正则表达式小结
2013/09/22 Javascript
解决jquery中美元符号命名冲突问题
2014/01/08 Javascript
Javascript URI 解析介绍
2015/03/15 Javascript
通过伪协议解决父页面与iframe页面通信的问题
2015/04/05 Javascript
浅析Javascript中bind()方法的使用与实现
2016/05/30 Javascript
JavaScript简单实现弹出拖拽窗口(一)
2016/06/17 Javascript
详解jquery easyui之datagrid使用参考
2016/12/05 Javascript
解决option标签selected=&quot;selected&quot;属性失效的问题
2017/11/06 Javascript
vue里面使用mui的弹出日期选择插件实例
2018/09/16 Javascript
Vue 页面状态保持页面间数据传输的一种方法(推荐)
2018/11/01 Javascript
详解element-ui日期时间选择器的日期格式化问题
2019/04/08 Javascript
Vue+axios+WebApi+NPOI导出Excel文件实例方法
2019/06/05 Javascript
基于JS正则表达式实现模板数据动态渲染(实现思路详解)
2020/03/07 Javascript
python实现目录树生成示例
2014/03/28 Python
python使用opencv进行人脸识别
2017/04/07 Python
python中字符串比较使用is、==和cmp()总结
2018/03/18 Python
python 脚本生成随机 字母 + 数字密码功能
2018/05/26 Python
详解Python的数据库操作(pymysql)
2019/04/04 Python
python爬虫中多线程的使用详解
2019/09/23 Python
tensorflow 大于某个值为1,小于为0的实例
2020/06/30 Python
python删除文件、清空目录的实现方法
2020/09/23 Python
Stefania Mode美国:奢华设计师和时尚服装
2018/01/07 全球购物
阿姆斯特丹城市卡:Amsterdam Pass
2019/12/01 全球购物
文明演讲稿范文
2014/05/12 职场文书
文化产业实施方案
2014/06/07 职场文书
防灾减灾日活动总结
2014/08/26 职场文书
网上祭先烈心得体会
2014/09/01 职场文书
校运会新闻稿
2015/07/17 职场文书
2015年政教主任工作总结
2015/07/23 职场文书
Python中threading库实现线程锁与释放锁
2021/05/17 Python