`
axl234
  • 浏览: 263541 次
  • 性别: 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; ...

    实例详解Android Webview拦截ajax请求

    Android Webview虽然提供了页面加载及资源请求的钩子,但是对于h5的ajax请求并没有提供干涉的接口,这意味着我们不能在webview中干涉javascript发起的http请求,而有时候我们确实需要能够截获ajax请求并实现一些功能...

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

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

    springmvc异步ajax请求

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

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

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

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

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

    Ajax表单验证自动检测是否重名

    针对“自动检测重名”的需求,我们需要在用户输入时实时发送Ajax请求,检查输入的名称是否已经在数据库中存在。这里涉及的关键技术包括: 1. 事件监听:利用JavaScript的addEventListener()或attachEvent()(旧版IE...

    一个完整的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请求数据

    Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它的核心在于JavaScript的XMLHttpRequest对象,它允许我们与服务器进行异步数据交换,从而实现页面的局部...

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

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

    2023最新ajax请求第三方接口天气预报案例.docx

    2023最新ajax请求第三方接口天气预报案例.docx2023最新ajax请求第三方接口天气预报案例.docx2023最新ajax请求第三方接口天气预报案例.docx2023最新ajax请求第三方接口天气预报案例.docx2023最新ajax请求第三方接口...

    ajax请求例子

    ajax请求例子

    Ajax异步请求

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

Global site tag (gtag.js) - Google Analytics