AJAX入门
| AJAX入门基本介绍
 PS:参考文档:《W3School——AJAX 教程》 使用步骤获得ajax引擎//创建一个XMLHttpRequest对象,利用此对象与服务器进行通信 是AJAX技术的核心(兼容IE,FireFox,Opera 8.0+,Safari)
function getXMLHttpRequest(){
   var xmlHttp;
   try { 
        // Firefox,Opera 8.0+,Safari
        xmlHttp=new XMLHttpRequest();
    }
    catch (e) {
        try {
            // Internet Explorer
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch (e) {
            try{
                // Internet Explorer
                xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e) {
            }
        }
    }
    return xmlHttp;
 }
var xmlHttp = getXMLHttpRequest();设置回调函数xmlHttp.onreadystatechange = function(){
    if(xmlhttp.readyState == 4){
        if(xmlhttp.status == 200){
            alert("响应数据" + xmlhttp.responseText);
        }
    }
};确定请求方式、路径及参数xmlHttp.open("POST","${pageContext.servletContext.contextPath}/CheckUserNameIsExistServlet");发送请求xmlHttp.send("username=" + obj.value );案例:登陆验证验证HTML<div class="form-group">
    <label for="username" class="col-sm-2 control-label">用户名</label>
    <div class="col-sm-6">
        <!-- 绑定一个离焦事件,用于Ajax判定用户名是否合法 -->
        <input type="text" class="form-control" id="username" name="username" placeholder="请输入用户名" onblur="checkUserName(this)">
    </div>
    <div class="col-sm-4" id="userNameInfo">
        <!-- <span class="label label-success">用户名可用</span> <span class="label label-danger">用户名不可用</span> -->
    </div>
</div>JavaScript使用AJAX实现用户名验证<script type="text/javascript"> // JavaScript使用AJAX //创建一个XMLHttpRequest对象,利用此对象与服务器进行通信 是AJAX技术的核心 function getXMLHttpRequest(){ var xmlHttp; try { // Firefox,Safari xmlHttp=new XMLHttpRequest(); } catch (e) { try { // Internet Explorer xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try{ // Internet Explorer xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { } } } return xmlHttp; } function checkUserName(obj) { // 获得AJAX引擎 var xmlHttp = getXMLHttpRequest(); // 设置回调函数 xmlHttp.onreadystatechange = function() { // XMLHTTP请求的状态为:已完成,当前请求的http状态码:200成功 if(xmlHttp.readyState == 4 && xmlHttp.status == 200) { // 获取信息,并且放在"userNameInfo"中 document.getElementById("userNameInfo").innerHTML = xmlHttp.responseText; } }; // 确定请求方式,路径,如果是Get请求,需要在路径后写参数 // GET请求方式 // xmlHttp.open("GET","${pageContext.servletContext.contextPath}/CheckUserNameIsExistServlet?username=" + obj.value); // POST请求方式 xmlHttp.open("POST","${pageContext.servletContext.contextPath}/CheckUserNameIsExistServlet"); // 设置请求编码(POST必须要表单提交,GET可以不设置) xmlHttp.setRequestHeader("content-type","application/x-www-form-urlencoded"); // 发送请求 // GET,数据在url里 // xmlHttp.send(null); // POST,填写参数 xmlHttp.send("username=" + obj.value ); } </script>Servlet方法public void doGet(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException {
    response.setContentType("text/html;charset=utf-8");
    request.setCharacterEncoding("utf-8");
    // 获取用户名参数
    String username = request.getParameter("username");     
    // 查询用户
    try {
        User user = new UserService().getUserByUserName(username);
        if (user == null) {
            response.getWriter().write("<span class='label label-success'>用户名可用</span>");
        } else {
            response.getWriter().write("<span class='label label-danger'>用户名不可用</span>");
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }
}
public void doPost(HttpServletRequest request,IOException {
    doGet(request,response);
}  PS:GET请求和POST请求有些微区别,大致是: 
 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! | 
