`
liaokang.java
  • 浏览: 152751 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论
阅读更多
最近写了几个小的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
分享到:
评论

相关推荐

    JavaScript jquery及AJAX小结

    其实在学习之前,就已经用上了js,jquery和ajax,不过当时不清楚这些的区别,就全都当成js来看,然后别人一说jquery,ajax都觉得好像很高级,等到自己学习的时候,倒是对这些更清楚了一点,下面就来写一下我的总结。...

    ajax异步请求小结

    具体描述ajax的获取,ajax属性,参数设置,编程步骤,缓存问题,get/post乱码问题,以及应用场景的阐述 onreadystatechange 绑订事件处理函数(处理readystatechange事件)。 注:当readyState属性值发生了任何的改变...

    Ajax乱码小结

    Ajax乱码:当调用request.getParameter()函数时,会自动进行一次URI的解码过程,调用时内置的解码过程会导致乱码出现。而URI 编码两次后,request.getParameter()函数得到的是原信息URI编码一次的内容。再用可控的...

    AJAX编写用户注册实例及技术小结

    AJAX编写用户注册实例及技术小结

    Ajax基础教程(扫描版)

    1.8 小结 21 第2章 使用xmlhttprequest对象 23 2.1 xmlhttprequest对象概述 23 2.2 方法和属性 25 2.3 交互示例 26 2.4 get与post 28 2.5 远程脚本 29 2.5.1 远程脚本概述 29 2.5.2 远程脚本的示例 29 2.6 ...

    JavaEE5学习笔记12-JSF集成AJAX使用经验总结

    JavaEE5学习笔记12-JSF集成AJAX使用经验总结。

    html表单a标签,input标签等几种请求ajax提交数据给后台小结

    html表单a标签,input标签等几种请求ajax提交数据给后台小结

    ASP.NET AJAX实战源码

    第4章 Ajax服务器扩展剖析 86 4.1 ASP.NET开发人员的Ajax 86 4.2 改进原有ASP.NET网站 87 4.2.1 一个示例ASP.NET网站 88 4.2.2 配置现有的ASP.NET网站 88 4.3 ScriptManager: Ajax页面的大脑 90 ...5.5 小结 145

    一个简单的jsp聊天室(ajax技术)

    一个简单的jsp聊天室(ajax技术),没有用到数据库,非常适合初学者学习使用

    【卷一/共两卷】AJAX实战pdf高清版90M

    1.5 小结 1.6 资源 第2章 Ajax新手上路 2.1 Aiax的关键元素 2.2 用JavaScript改善用户体验 2.3 用CSS定义应用的外观 2.3.1 CSS选择器 2.3.2 CSS样式属性 2.3.3简单的CSS例子 2.4 用DOM组织视图 2.4.1 使用JavaScript...

    Ajax的小贴士使用小结

    Ajax的小贴士使用小结

    Jquery操作Ajax方法小结

    主要介绍了Jquery操作Ajax方法小结的相关资料,需要的朋友可以参考下

    [ASP.NET.AJAX编程参考手册(涵盖ASP.NET.3.5及2.0)].(美)霍斯拉维.扫描版.pdf

    7.7.3 应用生命周期小结 …… 第8章 开发客户端控件 第9章 事件冒泡机制及客户端Button控件 第10章 类型描述扩展 第11章 数据类 第12章 客户-服务器通信 第13章 通过SOAP消息使用Web服务 第14章 通过JSON消息使用Web...

    ajax和spring互传json对象,并显示到列表中

    前端小结--ajax和spring互传json对象,并显示到列表中

    AJAX入门

    一个简单的AJAX入门帮助,txt格式~~ 目录: 一、 引言 二、 XMLHttpRequest对象的属性和事件 三、 XMLHttpRequest对象的方法 四、 发送请求 五、 处理请求 六、 小结

    Ajax实战(Ajax in action中文版)

    •1.2 Ajax的四个基本原则 •1.3 真实世界中的Ajax富客户端 •1.4 Ajax的替代方案 •1.5 小结 •1.6 资源 •2.1 Ajax的关键元素

Global site tag (gtag.js) - Google Analytics