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 tools之tooltip
Jul 25 Javascript
jQuery源码分析之jQuery中的循环技巧详解
Sep 06 Javascript
使用javascript实现监控视频播放并打印日志
Jan 05 Javascript
深入理解JavaScript系列(40):设计模式之组合模式详解
Mar 04 Javascript
基于jQuery实现选取月份插件附源码下载
Dec 28 Javascript
js发送短信倒计时的简单实现方法
Sep 08 Javascript
javascript常用的设计模式
Feb 09 Javascript
JavaScript实现打地鼠小游戏
Apr 23 Javascript
认识jQuery的Promise的具体使用方法
Oct 10 jQuery
微信小程序使用request网络请求操作实例
Dec 15 Javascript
Vue实现点击箭头上下移动效果
Jun 11 Javascript
Vue.js中使用Vuex实现组件数据共享案例
Jul 31 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
利用static实现表格的颜色隔行显示
2006/10/09 PHP
php中get_headers函数的作用及用法的详细介绍
2013/04/27 PHP
浅析application/x-www-form-urlencoded和multipart/form-data的区别
2014/06/22 PHP
php+mysql不用递归实现的无限级分类实例(非递归)
2014/07/08 PHP
php获取从百度、谷歌等搜索引擎进入网站关键词的方法
2015/07/08 PHP
Zend Framework常用校验器详解
2016/12/09 PHP
Laravel5.1 框架控制器基础用法实例分析
2020/01/04 PHP
如何解决Jquery库及其他库之间的$命名冲突
2013/09/15 Javascript
javascript 实现子父窗体互相传值的简单实例
2014/02/17 Javascript
js,jquery滚动/跳转页面到指定位置的实现思路
2014/06/03 Javascript
jquery中获取元素里某一特定子元素的代码
2014/12/02 Javascript
Bootstrap安装环境配置教程分享
2016/05/27 Javascript
基于Vue实现tab栏切换内容不断实时刷新数据功能
2017/04/13 Javascript
教你5分钟学会用requirejs(必看篇)
2017/07/25 Javascript
vuejs+element-ui+laravel5.4上传文件的示例代码
2017/08/12 Javascript
Vue实现内部组件轮播切换效果的示例代码
2018/04/07 Javascript
详解Vue开发微信H5微信分享签名失败问题解决方案
2018/08/09 Javascript
react高阶组件添加和删除props
2019/04/26 Javascript
深入浅析Vue 中 ref 的使用
2019/04/29 Javascript
layUI的验证码功能及校验实例
2019/10/25 Javascript
Vue左滑组件slider使用详解
2020/08/21 Javascript
[01:02:32]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第二场 2月26日
2021/03/11 DOTA
在Python中使用PIL模块对图片进行高斯模糊处理的教程
2015/05/05 Python
在Python中操作字典之update()方法的使用
2015/05/22 Python
Python minidom模块用法示例【DOM写入和解析XML】
2019/03/25 Python
如何利用python 读取配置文件
2021/01/06 Python
HTML5无刷新改变当前url的代码
2017/03/15 HTML / CSS
西班牙香水和化妆品购物网站:Arenal Perfumerías
2019/03/01 全球购物
Canal官网:巴西女性时尚品牌
2019/10/16 全球购物
妇产科护士自我鉴定
2013/10/15 职场文书
公益广告语集锦
2014/03/13 职场文书
聚美优品的广告词
2014/03/14 职场文书
绿色家庭事迹材料
2014/05/01 职场文书
师德师风整改措施
2014/10/24 职场文书
失恋33天观后感
2015/06/11 职场文书
创业计划书之熟食店
2019/10/16 职场文书