如何实现ajax延时发送在空闲之后去发送ajax请求

很多时候,我们都会遇到例如关键字搜索的功能

我们第一的想法,肯定是绑定响应的keyup事件,然后将得到的keyword,请求一个ajax返回响应的数据处理

但是,这个时候,如果简单绑定keyup事件。那么,每一次的敲击键盘操作都会发送一个ajax请求,这显然不是我们希望的。

我们希望,尽量在空闲之后去发送ajax请求:

因此,我们设定用户在不敲击键盘之后1S,才去发送这个ajax请求


代码如下:

var timeout;
onkeyup = function() {
clearTimeout(timeout);
timeout = setTimeout(function() {
ajax请求
}, 1000);
}

当然,可以使用另外一种思路:

阻断掉发出的ajax请求:


代码如下:

if (request) {
request.abort();
}
request = $.ajax( )

但是这个ajax请求,最好阻断在ajax发出之前

(0)

相关推荐

  • jsp+ajax发送GET请求的方法

    本文实例讲述了ajax发送GET请求,然后通过jsp页面来接收处理的实现方法.分享给大家供大家参考.具体实现方法如下: Ajax发送GET请求 这里用一个实例演示Ajax发送get请求,实例具体要求为一个注册页面,当用户填写完用户名称时,该输入框失去焦点后会通过Ajax向后台发送验证信息,如果用户名不是admin则通过验证,否则不通过验证. 下面先看JSP页面具体信息: 复制代码 代码如下: <form action="servlet/LoginServlet" method=&

  • jquery的ajax异步请求接收返回json数据实例

    jquery的ajax异步请求接收返回json数据方法设置简单,一个是服务器处理程序是返回json数据,另一种就是ajax发送设置的datatype设置为jsonp格式数据或json格式都可以. 代码示例如下: 复制代码 代码如下: $('#send').click(function () {     $.ajax({         type : "GET",         url : "a.php",         dataType : "json

  • js与jQuery终止正在发送的ajax请求的方法

    本文实例讲述了js与jQuery终止正在发送的ajax请求的方法.分享给大家供大家参考,具体如下: 核心:调用XMLHttpRequest对象上的abort方法 jquery的ajax方法有自己的超时时间设置参数: $.ajax({type:'POST', url:'b.php', data:'', timeout:5000, success:function(){ } }) 同时 1. $.get返回的数据类型是XMLHttpRequest,请参考手册.($.post.$.ajax.$.get

  • jquery跨域请求示例分享(jquery发送ajax请求)

    jQuery中常用getJSON来调用并获取远程的JSON字符串,将其转换为JSON对象,如果成功,则执行回调函数.原型如下: jQuery.getJSON( url, [data], [callback] ) 跨域加载JSON数据. url: 发送请求的地址data : (可选) 待发送key/value参数callback: (可选) 载入成功时的回调函数主要用于客户端获取服务器JSON数据.简单示例: 服务器脚本,返回JSON数据: 复制代码 代码如下: // $.getJSON.php$

  • jquery+ajax每秒向后台发送请求数据然后返回页面的代码

    复制代码 代码如下: <script src="../js/jquery-1.4.2.js" type="text/javascript"></script> <script type="text/javascript"> function chlink() { var url = "../handler/userfirend.ashx"; $.get(url, function(data)

  • Ajax发送和接收请求

    首先Ajax的不刷新页面提交数据,现在应用非常广泛,废话不多说马上进主题!! 基本上浏览器能接收的信息,Ajax都可以接收,ex:字符串,html标签,css标签,xml格式内容,json格式内容等等..... <script> // IE浏览器 if(ActiveXObject){ // 微软目前AJAX最新版本 var ajax = new ActiveXObject("Msxm12.XMLHTTP.6.0"); }else{ // 主流浏览器 var ajax = n

  • Extjs ajax同步请求时post方式参数发送方式

    ajax同步请求一般下面这样: 复制代码 代码如下: var conn = Ext.lib.Ajax.getConnectionObject().conn; conn.open("POST", 'http://localhost:8080/struts2study/TreeDDGet?node=-1',false); // 这里的conn对象其实就是 xmlHttpRequest 对象. conn.setRequestHeader("Content-Type",&q

  • 防止重复发送Ajax请求的解决方案

    在页面中有多个按钮,点击该按钮可以异步的去服务端读取数据,然后在前端将数据展示出来. 每个按钮点击请求的页面都是同一个,但是请求的参数不同,所以返回的内容就不同. 在连续点击多个按钮的时候就会发出多个异步请求.那么根据请求返回的快慢(因为不同按钮参数不同,返回内容不同,所以会有快慢之分),数据会依次的展示出来,那么就会出现一个先点击的按钮,由于他请求的数据量比较大,导致数据被后显示出来. 一.问题解决 解决这种问题有两种方式: 1.当连续进行多个请求,并且请求的url地址相同时.放弃前面的所有请

  • AJAX中同时发送多个请求XMLHttpRequest对象处理方法

    在ajax应用中,通常一个页面要同时发送多个请求,如果只有一个XMLHttpRequest对象,前面的请求还未完成,后面的就会把前面的覆盖掉,如果每次都创建一个新的XMLHttpRequest对象,也会造成浪费.解决的办法就是创建一个XMLHttpRequset的对象池,如果池里有空闲的对象,则使用此对象,否则将创建一个新的对象. 下面是我最近写的一个简单的类:* XMLHttpRequest Object Pool * * @author    legend <legendsky@hotmai

  • 如何实现ajax延时发送在空闲之后去发送ajax请求

    很多时候,我们都会遇到例如关键字搜索的功能 我们第一的想法,肯定是绑定响应的keyup事件,然后将得到的keyword,请求一个ajax返回响应的数据处理 但是,这个时候,如果简单绑定keyup事件.那么,每一次的敲击键盘操作都会发送一个ajax请求,这显然不是我们希望的. 我们希望,尽量在空闲之后去发送ajax请求: 因此,我们设定用户在不敲击键盘之后1S,才去发送这个ajax请求 复制代码 代码如下: var timeout; onkeyup = function() { clearTime

  • 通过Ajax方式上传文件使用FormData进行Ajax请求

    通过传统的form表单提交的方式上传文件: Html代码  <form id= "uploadForm" action= "http://localhost:8080/cfJAX_RS/rest/file/upload" method= "post" enctype ="multipart/form-data"> <h1 >测试通过Rest接口上传文件 </h1> <p >指定文

  • jQuery ajax全局函数处理session过期后的ajax跳转问题

    做web常常需要考虑session过期的问题,session过期就让页面跳转到登录界面去,但是存在这样一个问题,当页面过期后,用户请求后台的方式有两种:传统方式和异步请求方式,传统方式倒好解决,请求到后台,拦截到过期的操作,直接跳转,但是异步请求不会刷新整个页面,因此对session过期的处理也不能按往常的方式,需要另外的操作. 具体思路:拦截器中判断是否为ajax请求 -- 是ajax请求则返回一个消息 --页面添加一个全局的ajax处理事件,对消息进行判断,如果是报告session过期,则l

  • C#串口连接的读取和发送详解

    一.串口连接的打开与关闭 串口,即COM口,在.NET中使用 SerialPort 类进行操作.串口开启与关闭,是涉及慢速硬件的IO操作,频繁打开或关闭会影响整体处理速度,甚至导致打开或关闭串口失败.非特殊情况,串口一次性打开后,在退出程序时关闭串口即可.在打开串口前,可以设置一些常用的参数.常用的参数如下: (1)串口的接受/发送超时时间:ReadTimeout/WriteTimeout. (2)  串口的接受/发送缓存区大小:ReadBufferSize/WriteBufferSize. 具

  • java 实现websocket的两种方式实例详解

    一.介绍 1.两种方式,一种使用tomcat的websocket实现,一种使用spring的websocket 2.tomcat的方式需要tomcat 7.x,JEE7的支持. 3.spring与websocket整合需要spring 4.x,并且使用了socketjs,对不支持websocket的浏览器可以模拟websocket使用 二.方式一:tomcat 使用这种方式无需别的任何配置,只需服务端一个处理类, 服务器端代码 package com.Socket; import java.io

  • Ajax 高级功能之ajax向服务器发送数据

    1. 准备向服务器发送数据 Ajax 最常见的一大用途是向服务器发送数据.最典型的情况是从 客户端发送表单数据,即用户在form元素所含的各个 input 元素里输入的值.下面代码展示了一张简单的表单: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>基本表单</title> <style>

  • Ajax发送和接收二进制字节流数据的方法

    HTML5 Ajax 2.0标准中,增强了Ajax的许多功能,包括发送FormData数据,上传数据进度条等诸多功能.但实际上,Ajax可以字节发送二进制数据. 发送二进制数据 var oReq = new XMLHttpRequest(); oReq.open("POST", url, true); oReq.onload = function (oEvent) { // Uploaded. }; var blob = new Blob(['abc123'], {type: 'tex

  • Ajax请求发送成功但不进success的解决方法

    1.情况描述:ajax发送成功,后台也成功响应请求,并返回了json数据,通过chrome监听请求也可以看到响应的json数据,但是就是不进success方法,反而跑到error方法中了 前端: $.ajax({ type : "get", data : {'dbId':node.dbId,'viewId':node.id,'date':new Date()}, url : "${ctp}/ViewOperate/ShowViewSql", dataType : &

  • 在Web关闭页面时发送Ajax请求的实现方法

    前言 有时候我们需要在用户离开页面的时候,做一些上报来记录用户行为.又或者是发送服务器ajax请求,通知服务器用户已经离开,比如直播间内的退房操作. 本文主要分两部分来讲解怎么完成退出行为的上报. 1.事件监听 浏览器有两个事件可以用来监听页面关闭,beforeunload和unload. beforeunload是在文档和资源将要关闭的时候调用的, 这时候文档还是可见的,并且在这个关闭的事件还是可以取消的.比如下面这种写法就会让用户导致在刷新或者关闭页面时候,有个弹窗提醒用户是否关闭. win

随机推荐