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+Ajax限制查询间隔的更多相关文章
- jquery ajax 前前后后,所有的函数并查询链接
jQuery Ajax 操作函数 jQuery 库拥有完整的 Ajax 兼容套件.其中的函数和方法允许我们在不刷新浏览器的情况下从服务器加载数据. 函数 描述 jQuery.ajax() 执行异步 H ...
- Jquery+Ajax下拉框级联查询
- 2018.2.28 PHP中使用jQuery+Ajax实现分页查询多功能如何操作
PHP中使用jQuery+Ajax实现分页查询多功能如何操作 1.首先做主页Ajax_pag.php 代码如下 <!DOCTYPE html> <html> <head& ...
- 继上篇-jquery ajax提交 本篇用ajax提交的数据去数据库查询
上篇讲到如何用jquery ajax提交数据至后台,后台接收并返回给ajax.https://www.cnblogs.com/tiezhuxiong/p/11943328.html 今天我们把数据传到 ...
- 基于Jquery+Ajax+Json+存储过程 高效分页
在做后台开发中,都会有大量的列表展示,下面给大家给大家分享一套基于Jquery+Ajax+Json+存储过程高效分页列表,只需要传递几个参数即可.当然代码也有改进的地方,如果大家有更好的方法,愿留下宝 ...
- jQuery.ajax(url,[settings])
概述 通过 HTTP 请求加载远程数据. jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax() 返回其创建的 XMLHttpRequest 对象. ...
- 用.NET MVC实现长轮询,与jQuery.AJAX即时双向通信
两周前用长轮询做了一个Chat,并移植到了Azure,还写了篇博客http://www.cnblogs.com/indream/p/3187540.html,让大家帮忙测试. 首先感谢300位注册用户 ...
- JavaScript强化教程——jQuery AJAX 实例
什么是 AJAX?AJAX = 异步 JavaScript 和 XML(Asynchronous JavaScript and XML).简短地说,在不重载整个网页的情况下,AJAX 通过后台加载数据 ...
- 再谈Jquery Ajax方法传递到action 【转载】
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://cnn237111.blog.51cto.com/2359144/984466 之 ...
随机推荐
- 常用按钮css
#openwx_btn { border: 0px; background-color: rgb(145, ...
- CCNA+NP学习笔记—交换网络篇
本章关于企业网络的最底层--交换层,难度较低,主要为以后三层的路由做铺垫.所有笔记的分类顺序为:序章→交换层→路由层→运营商,体现了从企业网到互联网的学习顺序. 注:思科设备命令行通常不分大小写!以后 ...
- 团队作业10——复审与事后分析(Beta版本)
Deadline: 2017-6-13 22:00PM,以博客发表日期为准 评分基准: 按时交 - 有分,检查的项目内容为后文的两个方面 Beta阶段项目复审(单独一篇博客) 事后诸葛亮分析报告(单独 ...
- 【Alpha】第七次Daily Scrum Meeting
GIT 一.今日站立式会议照片 二.会议内容 1.讨论送礼物的方法和对象,使功能更加完善. 2.对于程序还存在的问题提出自己的看法,尽量让功能更加的饱满. 三.燃尽图 四.遇到的困难 能 ...
- 201521123083《Java程序设计》第8周学习总结
1. 本周学习总结 这周因为一些事情耽搁了,几乎没什么打java代码,这几天尽量补过来 2. 书面作业 1.List中指定元素的删除 1.1 实验总结 不贴大段代码了,简要总结一下.切割成数组,主要用 ...
- 团队作业10——复审和事后分析(Beta版本)
团队作业10--事后分析(Beta版本) http://www.cnblogs.com/newteam6/p/6953992.html 团队作业10--复审(Beta版本) http://www.cn ...
- 201521123029《Java程序设计》第五周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. 答:1. 课上讲了匿名内部类的使用,其中内部类就是定义在另一个类里面的类,与之相 ...
- java第十一次作业
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 1.互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) 1.1 除了使用synch ...
- 201521123024 《java程序设计》 第12周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容.
- 跨浏览器的placeholder – 原生JS版
转自来源 : http://www.ifrans.cn/placehoder/ 跨浏览器的placeholder – 原生JS版 html5为input元素新增了一个属性”placeholder”,提 ...