• 利用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);
    }
  • 相关阅读:
    vue 实战
    通信的三个核心问题
    中间件编程—面向通信的软件组件
    jsbridge与通信模型
    laravel5.6 调用第三方类库
    淘宝IP地址库API接口(PHP)通过ip获取地址信息
    这可能是目前最全的Redis高可用技术解决方案总结
    json_decode遇到的编码问题
    太平洋网络ip地址查询接口使用,返回json格式,默认返回jsonp
    分享几个IP获取地理位置的API接口(最全面的了)
  • 原文地址:https://www.cnblogs.com/aure/p/5142413.html
Copyright © 2020-2023  润新知