欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ajax局部刷新

程序员文章站 2022-06-17 11:49:25
...

Ajax运行原理:通过ajax向页面发起请求,会将请求发送给浏览器内核中的Ajax引擎,Ajax引擎会提交请求到服务器端,在这段时间里,客户端可以任意进行任意操作,直到服务器端将数据返回给Ajax引擎后,会触发你设置的事件,从而执行自定义的js逻辑代码完成某种页面功能。即实现了数据的异步提交(局部刷新)。
Js原生ajax学习:以验证注册名为例:
js代码:

<script type="text/javascript">    
$(function(){         
$("#uname").blur(function () {
<%-- 1.创建Ajax引擎对象--%>            
if(window.XMLHttpRequest) {                  
ajax=new XMLHttpRequest();             
} else {            
ajax=new ActiveXObject("Microsoft.XMLHTTP");            
}          
var name=$("#uname").val(); 
<%--3.绑定提交地址,true表示异步,false表示同步 --%>            
ajax.open("get","checklogin?uname="+name,true);
<%--2.绑定监听 --%>             
ajax.onreadystatechange=function () { 
<%-- 判断数据是否成功返回--%>                
if(ajax.readyState==4 && ajax.status==200) {                   
<%-- 5.接受响应数据--%>                  
$("#unameMsg").html(ajax.responseText);            
}            
}
<%-- 4.发送请求--%>              
ajax.send();          
})      
})  
</script>
<body>  账号:<input type="text" name="uname" id="uname"/>
  <span id="unameMsg"></span>
</body>

checklogin控制器的业务逻辑如下:

response.setCharacterEncoding("utf-8");
        String name=request.getParameter("uname");
        PrintWriter out=response.getWriter();
        String json=null;
        if (name.equals("admin")){
            out.write("<font color:'red'>非法输入</font>");
        }else{
            out.write("<font color:'green'>输入有效</font>");
        }
        out.close();
        System.out.println("------------");
}

注意:如果是post提交
需要在发送请求之前设置一个头
xmlhttp.setRequestHeader(“Content-type”,”application/x-www-form-urlencoded”);