JavaWeb(ajax+json实现自动补全)

为什么使用Ajax

无刷新:不刷新整个页面,只刷新局部

无刷新的好处 只更新部分页面,有效利用带宽,提高用户体验

 

Ajax:只刷新局部页面的技术

Asynchronous 异步的:发送请求后不等返回结果,由回调函数处理结果

JavaScript :更新局部的网页

Xml:使用jQuery的ajax判断用户名是否存在 ($.ajax/$.post)

XMLHttpRequest对象:(Ajax技术的核心)发送请求到服务器并获得返回结果

使用jQuery的ajax判断用户名是否存在 ($.ajax/$.post)

一、$.ajax()

$.ajax({
            url:"vname.do",//请求地址servlet
            data:{iname:name},//"iname="+name+,请求参数(传递到1服务器)
            type:"post",//请求参数
            dataType:"text",//预期服务器可能返回的类型
            success:function(data){//成功的回调函数data是服务器返回的数据
                $("#aa").html(data);//innerHTML赋值
            }, 
            error:function(){//失败的回调函数
                alert("有

二、$.post() url,data,success,dataType

$.post("vname.do",{iname:name},function(data){
            $("#aa").html(data);
          })
        })

使用JQuery的ajax实现自动补全功能

$(function(){
        //让div隐藏
        $("#aa").hide();
        //给文本框添加失焦事件
        $("#sname").keyup(function(){//键盘事件
        //获取文本框的值
        var name = $("#sname").val;
        //$post() url,data,success,dataType
        $.post("autofill.do",{iname:name},function(data){
            //json格式的对象数组的字符串
            //将json格式的对象数组字符串-->js的对象数组
            //var ss = eval(data);//js方式
            var ss = $.parseJSON(data);//jQuery方式
            var sb = "<ul>";
            //遍历集合
            $.each(ss,function(i,u){//下标,用户
                sb+="<li οnclick=\"myf('"+u.uname+"')\" οnmοuseοver=\"this.className='xx'\" οnmοuseοut=\"this.className='yy'\">"+u.uname+"</li>";
               });
              sb+="</ul>";
             //给div赋值
             $("#aa").html(sb);
            })
        });
    })
    
    function myf(name){
        //给文本框赋值
        $("#sname").val(name);
        //让div隐藏
        $("#aa").hide();
    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值