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);
    }
  • 相关阅读:
    sql练手
    简单工厂模式和抽象工厂模式的区别:面向接口编程
    UML中聚合和组合的关系(笔记)
    如何修改SQL Server 2005服务器名称 (装载)
    .NET 图片处理剪裁
    sql server 中的汉字转化为拼音
    sql server while, case,if..else ... try catch ..对象
    String 和 StringBuilder 的相同点和不同点
    sql 折分字符串并修改数据库表中数据
    SQL Server 与 Excel,Access 数据表的导入导出(注:参照博园.NET大观)
  • 原文地址:https://www.cnblogs.com/linjiqin/p/1996629.html
Copyright © 2011-2022 走看看