`
axl234
  • 浏览: 268959 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

检测用户是否连续输入减少ajax请求次数

 
阅读更多

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>无标题文档</title>
<style type="text/css">
* {
    margin: 0;
    ;
    padding: 0;
}
.main {
    padding-top: 50px;
    width: 300px;
    margin: 0 auto
}
#test {
    width: 300px;
    height: 30px;
    line-height: 30px;
}
.ts {
    display: none;
    margin-top: 2px;
    width: 282px;
    padding: 10px;
    height: 200px;
    word-break: break-all;
    background: #333;
    color: #CCC;
    border: 1px solid #ccc;
    overflow-x: hidden;
}
</style>
<script type="text/javascript" src="jquery-1.4.2.min.js" ></script>
<script type="text/javascript">
$(function () {
    /*发送ajax请求*/
    function getdata(datas) {
        console.log("发送ajax 请求"+datas);
        /*若请求成功则显示提示的div*/
        $(".ts").html("提示内容"+datas).show();
    }
   
    function isonwrite(tid,ajaxfn) {
        var id;
        $('#' + tid).focus(function () {
            var k = "";
            var d = new Date("January 1,1970"),
                d2, k2;
            $('#' + tid).keydown(function (e) {
                $(".ts").hide();
            }).keyup(function (e) {
                /*字母数字退格delete、空格、回车键*/
                if (e.keyCode >= 48 && e.keyCode <= 90 || e.keyCode == 8 || e.keyCode == 46 || e.keyCode == 32 || e.keyCode == 13) {
                    k = $(this).val();
                    d = new Date();
                }
            });
           
            /*设置不间断监测*/
            id = setInterval(function () {
                d2 = new Date();
                /*如果输入框内容有变化且大于时间间隔,则发送一次请求*/
                if (k != "" && k2 != k && d2.getTime() - d.getTime() > 800){
                    k2 = k;
                    ajaxfn(k2);
                }
            }, 500);
         })
         
        /*失去焦点的时候清除监测函数*/
        $('#' + tid).blur(function () {
            clearInterval(id);
            id = null;
        })       
    }   
    isonwrite("test",getdata);
})
</script>
</head>
<body>
<div class="main">
  <input type="text" id="test" size="35" />
  <div  class="ts" ></div>
</div>
</body>
</html>

分享到:
评论

相关推荐

    ajax动态检测用户是否已存在

    当用户在输入框中输入内容时,JavaScript会监听键盘事件,如keyup或change,一旦检测到输入变化,就会触发Ajax请求。HTML代码可能包含如下部分: ```html &lt;!DOCTYPE html&gt; ...

    chrome扩展插件获取ajax请求记录

    在开发过程中,还需要注意Chrome的安全策略和权限设置,确保扩展在获取Ajax请求记录时不侵犯用户隐私,并遵循Chrome的扩展开发指南。 总之,Chrome扩展插件获取Ajax请求记录是一项重要的Web开发技能,它可以帮助...

    Ajax请求过程中显示“进度”的简单实现

    在进行Ajax调用过程中一般都具有这样的做法:显示一个GIF图片动画表明后台正在工作,同时阻止用户操作本页面(比如Ajax请求通过某个按钮触发,用户不能频繁点击该按钮产生多个并发Ajax请求);调用完成后,图片消失...

    springmvc异步ajax请求

    这种方式极大地提升了用户体验,因为它减少了不必要的数据传输和页面渲染时间。以下是对这个主题的详细解释: 1. **什么是Ajax?** Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下...

    SpringBoot+SpringSecurity处理Ajax登录请求问题(推荐)

    SpringBoot+SpringSecurity处理Ajax登录请求问题 SpringBoot+SpringSecurity处理Ajax登录请求问题是SpringBoot开发中的一個常见问题,本文将详细介绍如何使用SpringBoot+SpringSecurity处理Ajax登录请求问题。 ...

    解决js ajax同步请求造成浏览器假死的问题

    在Web开发中,JavaScript的AJAX技术允许我们异步地加载数据或请求服务器,以更新网页的某个部分而不必重新加载整个页面。在正常情况下,我们推荐使用异步请求,因为它们不会阻塞用户界面,从而允许用户继续与页面上...

    一个完整的jquery+ajax传送请求的实例

    本文将深入探讨一个完整的jQuery+AJAX传输请求的实例,旨在帮助开发者理解如何有效地使用这两种技术实现异步数据通信。 首先,jQuery是一个强大的JavaScript库,它为DOM操作、事件处理、动画效果和Ajax交互提供了...

    jQuery-ajax-用户名异步请求

    Ajax,即Asynchronous JavaScript and XML,允许我们在不刷新整个页面的情况下与服务器交换数据并更新部分网页内容,提供更流畅的用户体验。 在“jQuery-ajax-用户名异步请求”这个场景中,我们可能是在设计一个...

    解决Ajax 发送多个请求引发的并发问题

    在Web开发中,Ajax(Asynchronous ...通过理解这些问题的根源,我们可以选择合适的策略来优化和控制Ajax请求,以确保数据的准确性和用户体验的流畅性。在.Net环境下,开发者可以利用各种库和框架来辅助实现这些策略。

    Ajax请求数据小实例

    使用Ajax get请求数据的小例子,使用$.each()循环显示到表格,里面有接口,大家可以使用,欢迎指导学习

    ajax 检测用户名是否被占用

    - 为了提高用户体验,可以使用debounce或throttle函数限制发送Ajax请求的频率,避免用户快速输入时频繁请求服务器。 - 另外,对于API接口,应设定相应的权限控制和错误处理机制,防止未授权访问和恶意操作。 通过...

    Ajax实现输入提示

    8. **性能优化**:为了提高性能和减少不必要的服务器负载,可以设定延迟发送请求,比如使用`debounce`或`throttle`函数,确保在用户连续输入时只在停顿一段时间后才发送请求。 9. **用户体验**:在显示提示时,应...

    ajax重写方法搭配后台filter返回status实现ajax请求跳转登录页面

    在现代Web应用中,用户交互通常涉及到异步数据交换,这就是AJAX(Asynchronous JavaScript and XML)技术的应用。Ajax允许我们在不刷新整个页面的情况下与服务器进行通信,提高用户体验。然而,当用户未登录或者会话...

    Ajax请求验证用户名问题

    在Web开发领域,Ajax(Asynchronous JavaScript and XML)是一种创建动态网页的技术,...通过Ajax实现的实时用户名验证,不仅可以提升用户体验,也降低了服务器的压力,因为它只需要处理少量的、有针对性的数据请求。

    ajax联想输入功能

    此外,还可以使用缓存策略,如本地存储,减少对服务器的请求次数。 8. **错误处理**: 需要考虑网络故障、服务器错误等异常情况,通过适当的错误处理机制,确保应用的健壮性。 在提供的"workbench"文件中,可能包含...

    后台界面实时获取用户输入内容,springMVC+Ajax实现(源码)

    Ajax请求通常是基于事件驱动的,例如在用户停止输入或者按下特定按钮时触发。 **SpringMVC+Ajax实现步骤** 1. **前端设置**:在HTML或JS文件中,监听用户输入事件,如`onkeyup`、`onchange`等。当事件触发时,使用...

    Ajax异步请求

    Ajax异步请求技术可以提高Web应用程序的交互性和响应速度,提高用户体验。但是,需要注意异步请求的限制和安全问题,例如,避免cross-site scripting(XSS)攻击和跨域请求问题。 Ajax异步请求的优点包括: * ...

    Ajax请求监视工具

    监测http请求,包括头文件,请求方式以及时间线,对于js开发或者Ajax开发比不可少的工具。

    ajax请求拦截器

    struts2在struts2.xml里配置拦截器可以过滤到指定的url的请求,但是对于ajax的请求确是过滤不了,比如说sesion超时或某些页面有权限控制的,通过ajax的请求时系统会报错最近在解决此类问题时碰上了找了不少资料,...

    extjs ajax同步请求所需js

    Ajax请求使得页面无需刷新即可更新部分内容,提高了用户体验。 标题中提到的"extjs ajax同步请求所需js"是指ExtJS框架中用于执行同步Ajax请求的相关JavaScript代码。在ExtJS中,Ajax请求通常通过`Ext.Ajax`对象来...

Global site tag (gtag.js) - Google Analytics