首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

ajax总结

2012-10-11 
ajax小结最近写了几个小的ajax例子,拿出来分享,高手请掠过,代码如下var xmlHttpRequestfunction verify()

ajax小结
最近写了几个小的ajax例子,拿出来分享,高手请掠过,代码如下

var xmlHttpRequest;function verify(){    var userName = document.getElementById("userName").value;    if (window.XMLHttpRequest) {        xmlHttpRequest = new XMLHttpRequest();    } else {        if (window.ActiveXObject) {            xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP");        }    }    //注册回调函数    xmlHttpRequest.onreadystatechange = callback;    //设置连接信息,用GET方式提交    //xmlHttpRequest.open("GET","AJAXServlet?name=" + userName,true);    //发送数据    //xmlHttpRequest.send(null);    //设置连接信息用POST方式提交    xmlHttpRequest.open("POST","AJAXXMLServlet",true);    //设置http的请求头    xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");    //xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");    xmlHttpRequest.send("name=" + userName);}function callback(){    //判断对象交互是否完成    if(xmlHttpRequest.readyState == 4){        //判断http交互是否完成        if(xmlHttpRequest.status == 200){            var obj = xmlHttpRequest.responseXML;            if(obj){                var messageNodes = obj.getElementsByTagName("message");                if(obj.length > 0){                    var message = messageNodes[0].firstChild.nodeValue;                    document.getElementById("result").innerHTML = message;                }            }else {                window.alert("数据格式不正常");            }        }else {            window.alert("出错");        }    }}


服务器端代码
import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.ServletException;import java.io.IOException;import java.io.PrintWriter;public class AJAXXMLServlet extends HttpServlet {    protected void doPost(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException {        doGet(httpServletRequest,httpServletResponse);    }    protected void doGet(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws ServletException, IOException {        httpServletRequest.setCharacterEncoding("UTF-8");        httpServletResponse.setContentType("text/xml;charset=UTF-8");        String name = httpServletRequest.getParameter("name");        PrintWriter out =  httpServletResponse.getWriter();        StringBuilder sb = new StringBuilder();        sb.append("<message>");        if(null == name || "" == name){            sb.append("用户名不能为空").append("</message>");            out.println(sb.toString());        }else if("xiaoming".equals(name)){            sb.append("用户名[" + name + "]已经存在").append("</message>");            out.println(sb.toString());        }else {            sb.append("用户名[" + name + "]可以使用").append("</message>");            out.println(sb.toString());        }        out.close();    }}


上面处理的是服务器端返回的xml格式的数据,在Servlet中要记得设置
httpServletResponse.setContentType("text/xml;charset=UTF-8");
即返回的文本格式需为xml

热点排行