注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

樱之花

叶散的时候,你明白欢聚;花谢的时候,你明白青春.

 
 
 

日志

 
 
关于我

分类中“我的实验室”是我在日常工作中的一些知识总结,有些写的比较匆忙,可能大家在阅读时会产生困扰,后期有时间我会重新整理编辑,谢谢大家的到访,您们的支持是我前进的动力!

网易考拉推荐

使用jquery,返回xml,并解析xml  

2012-06-14 13:07:11|  分类: JQUERY |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

   <input type="text" id="userName" />
    <input type="button" value="校验" onclick="verify()"/>
    <!--这个div用于存放服务器段返回的信息,开始为空-->
    <!--id属性定义是为了利用dom的方式找到某一个节点,进行操作-->
    <div id="result"></div>

<!--div和span的直观差异,div中的内容独占行,span中的内容和前后其他内容相处良好-->

function verify(){
  //Jquery的查找节点的方式,参数中#加上id属性值可以找到一个节点。
    //jquery的方法返回的都是jquery的对象,可以继续在上面执行其他的jquery方法
    var jqueryObj = $("#userName");
    //获取节点的值
    var userName = jqueryObj.val();
    //使用jquery的XMLHTTPrequest对象get请求的封装
    $.ajax({
        type: "POST",            //http请求方式
        url: "AJAXXMLServer",    //服务器段url地址
        data: "name=" + userName,           //发送给服务器段的数据
        dataType: "xml",  //告诉JQuery返回的数据格式
        success: callback  //定义交互完成,并且服务器正确返回数据时调用的回调函数
    });


}


//回调函数
function callback(data) {

   // 接收服务器端返回的数据
    // 需要将data这个dom对象中的数据解析出来
    // 首先需要将dom的对象转换成JQuery的对象
    var jqueryObj = $(data);
    // 获取message节点
    var message = jqueryObj.children();
    // 获取文本内容
    var text = message.text();
    // 将服务器段返回的数据动态的显示在页面上
    // 找到保存结果信息的节点
    var resultObj = $("#result");
    // 动态的改变页面中div节点中的内容
    resultObj.html(text);

}

 

public class AJAXXMLServer 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 {
        try{
            // 响应的Content-Type必须是text/xml
            httpServletResponse.setContentType("text/xml;charset=utf-8");

            PrintWriter out = httpServletResponse.getWriter();
            // 取参数
            String old = httpServletRequest.getParameter("name");
            // 返回的数据需要拼装成xml格式
            StringBuilder builder = new StringBuilder();
            builder.append("<message>");
            //2.检查参数是否有问题
            if(old == null || old.length() == 0){
                builder.append("用户名不能为空").append("</message>");
            } else{
                //3.校验操作
                String name = old;

                if(name.equals("hardwin")){
                    // 和传统应用不同之处。这一步需要将用户感兴趣的数据返回给页面段,而不是将一个新的页面发送给用户
                                       builder.append("用户名[" + name + "]已经存在,请使用其他用户名").append("</message>");
                } else{
                    builder.append("用户名[" + name + "]尚未存在,可以使用该用户名注册").append("</message>");
                }
                out.println(builder.toString());
                System.out.println(builder.toString());

            }
        } catch(Exception e){
            e.printStackTrace();
        }
    }
}

  评论这张
 
阅读(957)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017