jquery ajax 延迟执行,javascript – 尝试为jQuery AJAX请求添加延迟
我试图延迟一个
AJAX请求,以便在输入单元的最后一个键盘后2-3秒发送它.
到目前为止,我已设法延迟请求,但在2-3秒后,我收到一个请求发送给该字段中的每个密钥…
如何让jQuery取消第一个并发送最后一个keyup?
这是迄今为止的代码:
$('#lastname').focus(function(){
$('.terms :input').val(""); //clears other search fields
}).keyup(function(){
caps(this); //another function that capitalizes the field
$type = $(this).attr("id"); // just passing the type of desired search to the PHP file
setTimeout(function(){ // setting the delay for each keypress
ajaxSearchRequest($type); //runs the ajax request
},1000);
});
上面的代码等待1秒,然后根据按键发送4-5个AJAX请求.
我只想在最后一个密钥后发送一个
我在StackOverflow中发现了一些使用Javascript的类似解决方案,但由于我对编程知之甚少,我无法将它们实现到我的项目中.
[解决了]
最终的工作代码,感谢@ Dr.Molle:
$('#lastname').focus(function(){
$('.terms :input').val("");
}).keyup(function(){
caps(this);
$type = $(this).attr("id");
window.timer=setTimeout(function(){ // setting the delay for each keypress
ajaxSearchRequest($type); //runs the ajax request
},3000);
}).keydown(function(){clearTimeout(window.timer);});
这是ajaxSearchRequest代码:
function ajaxSearchRequest($type){
var ajaxRequest2; // The variable that makes Ajax possible!
try{
// Opera 8.0+,Firefox,Safari
ajaxRequest2 = new XMLHttpRequest();
}catch (e){
// Internet Explorer Browsers
try{
ajaxRequest2 = new ActiveXObject("Msxml2.XMLHTTP");
}catch (e) {
try{
ajaxRequest2 = new ActiveXObject("Microsoft.XMLHTTP");
}catch (e){
// Something went wrong
alert("Browser error!");
return false;
}
}
}
ajaxRequest2.onreadystatechange = function(){
if(ajaxRequest2.readyState == 4){
$result = ajaxRequest2.responseText;
$('#resultcontainer').html($result);
}}
var searchterm = document.getElementById($type).value;
var queryString ="?searchterm=" + searchterm +"&type=" +$type;
if(searchterm !== ""){
ajaxRequest2.open("GET","searchrequest.PHP" +
queryString,true);
ajaxRequest2.send(null);
}
}
jquery ajax 延迟执行,javascript – 尝试为jQuery AJAX请求添加延迟相关推荐
- 如何让jQuery执行同步而不是异步的Ajax请求?
我有一个提供标准扩展点的JavaScript小部件. 其中之一是beforecreate函数. 它应该返回false以防止创建项目. 我已经使用jQuery在此函数中添加了Ajax调用: before ...
- js 延迟执行php代码,jquery如何实现延迟执行
jquery实现延迟执行的方法:首先创建一个HTML:然后在head中引入jquery插件:最后然后编写javascript代码,绑定[id=show]的按钮,使用[$("#show&quo ...
- jQuery中ajax的触发时机,javascript - 如何在启动Ajax查询的jQuery中触发方法change() - 堆栈内存溢出...
我有一个带有部门清单的选择项目html. 当我选择一个(方法"更改")时,它将在jquery中启动ajax请求,该请求将显示在另一个select输入中,即从数据库中获取的城市列表. ...
- html延迟首页,jquery怎么实现延迟执行?
jquery怎么实现延迟执行?下面本篇文章就来给大家介绍一下jquery实现延迟执行的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 方法1:使用delay() delay() ...
- jquery ajax 事件执行顺序
jquery中各个事件执行顺序如下: 1.ajaxStart(全局事件) 2.beforeSend 3.ajaxSend(全局事件) 4.success 5.ajaxSuccess(全局事件) 6.e ...
- ajax 成功回调函数,jQuery的阿贾克斯成功回调函数定义jQuery的阿贾克斯成功回调函数定义(jQuery ajax...
我想使用jQuery的ajax从服务器获取数据. 我希望把成功的回调函数定义外面.ajax()块像下面这样. 所以,我需要声明变量dataFromServer像下面这样我就能从成功回调使用返回的数据? ...
- jQuery系列(十四):jQuery中的ajax
1.什么是ajax AJAX = 异步的javascript和XML(Asynchronous Javascript and XML) 简言之,在不重载整个网页的情况下,AJAX通过后台加载数据,并在 ...
- ajax加载对应的json,jQuery:多个AJAX/JSON请求对应单个回调并行加载
因为我们使用jQuery,这意味着需要调用 jQuery.getScript 和 jQuery.getJSON 函数. 我知道这些函数都是异步执行(asyncronously)并且会延迟一段时间返回, ...
- 《锋利的jQuery》要点归纳(五)jQuery与ajax的应用(上)
一.jQuery中的Ajax 1 load()方法 load(url[,data][,callback]) url // string类型,请求html页面的url地址 data // object类 ...
最新文章
- pika主从同步原理
- Document 对象的常用方法
- oracle将213变成123,oracle 转换函数
- 初识github之注册和基本概念
- speex 编译(转)
- 转载:磁盘分区,一篇很好的文章
- SAP Spartacus用户登录之后读取用户信息的HTTP请求
- Jquery CheckBox全选方法
- 开挂的人生: 本科生发Nature和 Science
- [Android]对MVC和MVP的总结
- ZOJ 3983 2017CCPC秦皇岛 C:Crusaders Quest
- IOS PhoneGap项目调用NATIVE
- linux中ifi_info的英文全称,【DNS服务器IP地址-域名注册查询-CDN加速技术】
- JAVA 发送邮件功能
- 华为手机热点无法连接_为什么华为手机开热点别的手机连不上?
- 「缠师课后回复精选」第9课 甄别“早泄”男的数学原则!
- div设置半透明效果
- 微量样本RNA甲基化m6A技术比较
- 新买的笔记本计算机内存不足,笔记本内存不够怎么办_笔记本内存不足如何解决...
- Eastmount博客导读:专栏系统分类和博客归纳总结
热门文章
- 【AM】Glow-TTS: A Generative Flow for Text-to-Speech via Monotonic Alignment Search
- 644HA温变的安装与调试
- UE4 Multiply
- 支付宝、微信,0手续费批量返款技术方案
- java mkdir_Java File.mkdir 创建子目录
- linux ip地址文件夹,linux设置IP地址
- 电脑计算机怎么没有桌面显示器,电脑显示器没有图标怎么办
- mysql双写是什么意思_MYSQL双写和块裂
- cool cooler coolest
- 瞻博网络聚焦AI科技抗疫