Ajax (Asynchronous javascript xml) 搜索框核心代码(JQuery) Ajax判断用户名存在核心代码 附:原生js的Ajax代码

前端

<script type="text/javascript">
$(function(){
    $("#tid").keyup(function(){
        //获取当前输入 的值
        var value=$(this).val();
        //偷偷摸摸发起请求
        var url="${pageContext.request.contextPath }/like"
        var params="name="+value;
        //先清空下方div
        $("#did").empty();
        $("#did").hide();
        if(value){
            //有输入值才发请求
            $.post(url,params,function(data){

/*                 $.each(data,function(index,element){
                    var content=element.name;
                    var div="<div onmouseover=‘m1(this)‘ onmouseout=‘m2(this)‘ onclick=‘m3(this)‘ style=‘text-align:left;‘  >"+content+"</div>";
                    $("#did").append(div);
                });
                $("#did").show() */

                $(data).each(function(index,element){
                    alert(element.name);
                    var div="<div style=‘text-align:left‘ onmouseover=‘m1(this)‘ onmouseout=‘m2(this)‘ onclick=‘m3(this)‘>"+element.name+"</div>";
                    $("#did").append(div);
                })
                $("#did").show();    

            },"json")
        }
    })
})

function m1(obj){
    //修改css样式
    $(obj).css("background-color","#ccc");
}
function m2(obj){
    $(obj).css("background-color","white");
}
function m3(obj){
    //选中  把自己添加到输入框中
    var text=$(obj).text();
    $("#tid").val(text);
    $("#did").empty();
    $("#did").hide();
}

</script>

后端

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        try {
            // 编码
            response.setContentType("text/html;charset=utf-8");
            // 获取name参数
            String name = request.getParameter("name");
            // 调用service查询相关
            List<KeyWord> keys = new KeyWordservice().findByName(name);
            // 写回去给你
            for (KeyWord key : keys) {
                System.out.println(key);
            }
            JSONArray key_json = JSONArray.fromObject(keys);
            System.out.println(key_json);
            response.getWriter().print(key_json.toString());
        } catch (SQLException e) {
            e.printStackTrace();
            response.getWriter().print("");
        }
    }

Ajax判断用户名存在核心代码(使用JQuery)

 <script>

     //页面加载
     $(function(){
         $("#errorId").hide();
        $("#successId").hide();

         $("#username").blur(function(){
             $("#errorId").hide();
             $("#successId").hide();
             //获得值
             var username = $("#username").val();

                 if(username){
                      //ajax访问服务器
                      $.get("${pageContext.request.contextPath}/CheckUserNameServlet","username="+username,function(data){
                          if(data>0){
                              //失败
                              $("#errorId").show();
                              $("#successId").hide();
                          }else{
                              //成功
                              $("#errorId").hide();
                              $("#successId").show();
                          }
                      });
                 }
         });
     })

 </script>
     <div class="form-group">
                <label for="username" class="col-sm-2 control-label">用户名</label>
                <div class="col-sm-6">
                  <input type="text" class="form-control" id="username" name="username" placeholder="请输入用户名">
                </div>
                <div class="col-sm-4">
                    <span id="successId" class="label label-success">用户名可用</span>
                    <span id="errorId" class="label label-danger">用户名不可用</span>
                </div>
              </div>

附:原生js的Ajax代码

    <input type="button" onclick="sendGet()" value="请求"/> <br/>

    <script type="text/javascript">
        function sendGet(){

            //1 获得ajax引擎
            var xmlhttp=null;
            // 谷歌、火狐、IE最新浏览器
            if (window.XMLHttpRequest){
                xmlhttp=new XMLHttpRequest();
            }else if (window.ActiveXObject){
                //IE老版本浏览器(IE6、7、8 等)
                xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }

            //2 设置回调函数
            xmlhttp.onreadystatechange = function(){

                alert(xmlhttp.readyState);
                if(xmlhttp.readyState == 4){
                    if(xmlhttp.status == 200){
                        alert("响应数据" + xmlhttp.responseText);
                    }
                }
            };
            //3 确定请求方式、路径及参数
            /* xmlhttp.open("GET","/2level_daan/hello?username=jack&password=1234"); */
            xmlhttp.open("POST","/2level_daan/hello");

            //4 设置请求编码
            xmlhttp.setRequestHeader("content-type","application/x-www-form-urlencoded");//get 不需要

            //4 发送请求
            /* xmlhttp.send(null); */
            xmlhttp.send("username=杰克&password=1234");

        }
    </script>

原文地址:https://www.cnblogs.com/qingyundian/p/8894246.html

时间: 2024-10-14 12:48:36

Ajax (Asynchronous javascript xml) 搜索框核心代码(JQuery) Ajax判断用户名存在核心代码 附:原生js的Ajax代码的相关文章

ajax(Asynchronous JavaScript + XML) 技术学习

参考文档:https://developer.mozilla.org/en-US/docs/AJAX 本文进行了大致翻译. Ajax 本身本不是一门技术,而是在2005年由Jesse James Garrett首创的描述为一个"新"途径来应用许多已存在的技术,包括:HTML 或者 XHTML, Cascading Style Sheets, JavaScript, The Document Object Model, XML, XSLT, 和最重要的 XMLHttpRequest ob

[javascript]原生js实现Ajax

一.首先看JQuery提供的Ajax方法: $.ajax({ url: , type: '', dataType: '', data: { }, success: function(){ }, error: function(){ } }) 二.原生js实现Ajax方法: var Ajax={ get: function(url, fn) { // XMLHttpRequest对象用于在后台与服务器交换数据 var xhr = new XMLHttpRequest(); xhr.open('GE

原生js实现ajax封装

一.什么是ajax? 定义:Ajax(Asynchronous Java and XML的缩写)是一种异步请求数据的web开发技术,在不需要重新刷新页面的情况下,Ajax 通过异步请求加载后台数据,并在网页上呈现出来. 作用:提高用户体验,减少网络数据的传输量 二.ajax常见运用场景 表单验证是否登录成功.百度搜索下拉框提示和快递单号查询等等. 三.Ajax原理是什么 Ajax请求数据流程,其中最核心的依赖是浏览器提供的对象xhr,它扮演的角色相当于秘书,使得浏览器可以发出HTTP请求与接收H

原生JS发送Ajax请求

注意了,划重点了,这一题考不到算我输! 一.JS原生Ajax Ajax=异步Javascript+XML: ajax是一种数据请求的方式,不需要刷新整个页面.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. ajax的核心技术当然是XMLHttpRequest对象: ajax请求过程:创建XMLHttpRequest对象.连接服务器.发送请求.接受相应数据. 废话少说上代码! p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0p

原生JS发送Ajax请求、JSONP

一.JS原生Ajax Ajax=异步Javascript+XML: ajax是一种数据请求的方式,不需要刷新整个页面.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新. ajax的核心技术当然是XMLHttpRequest对象: ajax请求过程:创建XMLHttpRequest对象.连接服务器.发送请求.接受相响应数据. 废话少说上代码! <script type="text/javascript"> //调用ajax函数 ajax({ url:'./Te

通过原生js的ajax或jquery的ajax获取服务器的时间

在实际的业务逻辑中,经常是与时间相关的,而前端能获得的时间有两个:客户端的时间,服务器的时间.客户端时间通过 javascript中的Date对象可以获取,如 Java代码   var dt = new Date(); var tm = dt.getTime(); 那么tm就是客户端的时间,另外也可以通过对应的getFullYear(),getMonth(),getDate()取到对应的年月日等...但这个时间可靠吗?好吧,那取服务器时间吧经常用到的是后台写一个php,jsp,cgi,asp..

原生JS实现Ajax及Ajax的跨域请求

  前  言          如今,从事前端方面的程序猿们,如果,不懂一些前后台的数据交互方面的知识的话,估计都不太好意思说自己是程序猿.当然,如今有着许多的框架,都有相对应的前后台数据交互的方法. 而,其中,用得最多的应该苏算是JQuery的Ajax了.但是,今天,影子向大家介绍的是原生js的Ajax,及跨域请求. 一. JQuery的Ajax 首先,先回忆下JQuery的Ajax写法: $.ajax({ url: , type: '', dataType: '', data: { }, s

原生JS的Ajax技术

1.同步和异步 同步现象:客户端发送请求到服务器端,当服务器返回响应之前,客户端都处于等待  卡死状态 异步现象:客户端发送请求到服务器端,无论服务器是否返回响应,客户端都可以随意做其他事情,不会被卡死 2.ajax运行原理 页面发起请求,会将请求发送给浏览器内核中的Ajax引擎,Ajax引擎会提交请求到 服务器端, 在这段时间里,客户端可以任意进行任意操作,直到服务器端将数据返回给Ajax引擎后, ajax引擎会监听到ajax的状态改变,触发你设置的事件,从而执行自定义的js逻辑代码完成某种页

使用原生js写ajax

// 使用原生js 封装ajax // 兼容xhr对象 function createXHR(){ if(typeof XMLHttpRequest != "undefined"){ // 非IE6浏览器 return new XMLHttpRequest(); }else if(typeof ActiveXObject != "undefined"){ // IE6浏览器 var version = [ "MSXML2.XMLHttp.6.0"