我试图延迟一个

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请求添加延迟相关推荐

  1. 如何让jQuery执行同步而不是异步的Ajax请求?

    我有一个提供标准扩展点的JavaScript小部件. 其中之一是beforecreate函数. 它应该返回false以防止创建项目. 我已经使用jQuery在此函数中添加了Ajax调用: before ...

  2. js 延迟执行php代码,jquery如何实现延迟执行

    jquery实现延迟执行的方法:首先创建一个HTML:然后在head中引入jquery插件:最后然后编写javascript代码,绑定[id=show]的按钮,使用[$("#show&quo ...

  3. jQuery中ajax的触发时机,javascript - 如何在启动Ajax查询的jQuery中触发方法change() - 堆栈内存溢出...

    我有一个带有部门清单的选择项目html. 当我选择一个(方法"更改")时,它将在jquery中启动ajax请求,该请求将显示在另一个select输入中,即从数据库中获取的城市列表. ...

  4. html延迟首页,jquery怎么实现延迟执行?

    jquery怎么实现延迟执行?下面本篇文章就来给大家介绍一下jquery实现延迟执行的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 方法1:使用delay() delay() ...

  5. jquery ajax 事件执行顺序

    jquery中各个事件执行顺序如下: 1.ajaxStart(全局事件) 2.beforeSend 3.ajaxSend(全局事件) 4.success 5.ajaxSuccess(全局事件) 6.e ...

  6. ajax 成功回调函数,jQuery的阿贾克斯成功回调函数定义jQuery的阿贾克斯成功回调函数定义(jQuery ajax...

    我想使用jQuery的ajax从服务器获取数据. 我希望把成功的回调函数定义外面.ajax()块像下面这样. 所以,我需要声明变量dataFromServer像下面这样我就能从成功回调使用返回的数据? ...

  7. jQuery系列(十四):jQuery中的ajax

    1.什么是ajax AJAX = 异步的javascript和XML(Asynchronous Javascript and XML) 简言之,在不重载整个网页的情况下,AJAX通过后台加载数据,并在 ...

  8. ajax加载对应的json,jQuery:多个AJAX/JSON请求对应单个回调并行加载

    因为我们使用jQuery,这意味着需要调用 jQuery.getScript 和 jQuery.getJSON 函数. 我知道这些函数都是异步执行(asyncronously)并且会延迟一段时间返回, ...

  9. 《锋利的jQuery》要点归纳(五)jQuery与ajax的应用(上)

    一.jQuery中的Ajax 1 load()方法 load(url[,data][,callback]) url // string类型,请求html页面的url地址 data // object类 ...

最新文章

  1. pika主从同步原理
  2. Document 对象的常用方法
  3. oracle将213变成123,oracle 转换函数
  4. 初识github之注册和基本概念
  5. speex 编译(转)
  6. 转载:磁盘分区,一篇很好的文章
  7. SAP Spartacus用户登录之后读取用户信息的HTTP请求
  8. Jquery CheckBox全选方法
  9. 开挂的人生: 本科生发Nature和 Science
  10. [Android]对MVC和MVP的总结
  11. ZOJ 3983 2017CCPC秦皇岛 C:Crusaders Quest
  12. IOS PhoneGap项目调用NATIVE
  13. linux中ifi_info的英文全称,【DNS服务器IP地址-域名注册查询-CDN加速技术】
  14. JAVA 发送邮件功能
  15. 华为手机热点无法连接_为什么华为手机开热点别的手机连不上?
  16. 「缠师课后回复精选」第9课 甄别“早泄”男的数学原则!
  17. div设置半透明效果
  18. 微量样本RNA甲基化m6A技术比较
  19. 新买的笔记本计算机内存不足,笔记本内存不够怎么办_笔记本内存不足如何解决...
  20. Eastmount博客导读:专栏系统分类和博客归纳总结

热门文章

  1. 【AM】Glow-TTS: A Generative Flow for Text-to-Speech via Monotonic Alignment Search
  2. 644HA温变的安装与调试
  3. UE4 Multiply
  4. 支付宝、微信,0手续费批量返款技术方案
  5. java mkdir_Java File.mkdir 创建子目录
  6. linux ip地址文件夹,linux设置IP地址
  7. 电脑计算机怎么没有桌面显示器,电脑显示器没有图标怎么办
  8. mysql双写是什么意思_MYSQL双写和块裂
  9. cool cooler coolest
  10. 瞻博网络聚焦AI科技抗疫