zoukankan      html  css  js  c++  java
  • 利用jQuery接受和处理xml数据

    以下使用jQuery+Servlet接受和处理xml数据,模拟判断用户名是否存在,效果如下:

    服务器端

    package com.ljq.test;

    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;

    /**
    * 利用jQuery接受和处理xml数据
    *
    *
    @author jiqinlin
    *
    */
    @SuppressWarnings(
    "serial")
    public class AjaxXmlServer extends HttpServlet{

    protected void doGet(HttpServletRequest request,
    HttpServletResponse response)
    throws ServletException, IOException {
    try{
    //修改一----响应的Content-Type必须是text/xml
    response.setContentType("text/xml;charset=utf-8");

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

    if(name.equals("linjiqin")){
    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();
    }
    }

    protected void doPost(HttpServletRequest request,
    HttpServletResponse response)
    throws ServletException, IOException {
    doGet(request, response);
    }
    }

              

    修改web.xml

    <servlet>
    <servlet-name>AjaxXmlServer</servlet-name>
    <servlet-class>com.ljq.test.AjaxXmlServer</servlet-class>
    </servlet>
    <servlet-mapping>
    <servlet-name>AjaxXmlServer</servlet-name>
    <url-pattern>/servlet/ajaxXmlServer</url-pattern>
    </servlet-mapping>

             

    请求页面

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <script type="text/javascript" src="http://localhost:8083/jqueryprj/js/jquery-1.3.1.js"></script>
    <script type="text/javascript" src="http://localhost:8083/jqueryprj/js/verifyjqueryxml.js"></script>
    </head>
    <body>
    <input type="text" id="userName" />
    <input type="button" value="校验" onclick="verify()"/>
    <div id="result"></div>
    <!--div和span的直观差异,div中的内容独占行,span中的内容和前后其他内容相处良好-->
    </body>
    </html>

                  

    js

    function verify(){
    var userName
    = $("#userName").val();
    $.ajax({
    type:
    "POST", //http请求方式
    url: "servlet/ajaxXmlServer", //服务器端url地址
    data: "name=" + userName, //发送给服务器端的数据
    dataType: "xml", //告诉JQuery返回的数据格式
    success: callback //定义交互完成,并且服务器正确返回数据时调用的回调函数
    });
    }

    //回调函数
    function callback(data) {
    var jqueryObj
    = $(data);
    //获取message节点
    var message = jqueryObj.children();
    //获取文本内容
    var text = message.text();
    //4.将服务器段返回的数据动态的显示在页面上
    $("#result").html(text);
    }
  • 相关阅读:
    1.造一个句子先造出 主谓宾 或主系表,或therebe 这个句子就确定了
    电脑族应每天赤脚走15分钟
    10我操介词
    2.在英语句子中,什么时候用助动词do\does ,什么时候用be动词am\is\are?
    6.英语单词末尾的——s,什么时候发S,什么时候发Z
    转 Dll创建一个"日历"窗体(一)
    2012 MultiUniversity Training Contest 2
    最大流 基础
    HDOJ 4006 The kth great number(优先队列)
    树状数组
  • 原文地址:https://www.cnblogs.com/linjiqin/p/1996629.html
Copyright © 2011-2022 走看看