首页 > 代码库 > jsp Ajax请求(返回xml数据类型)

jsp Ajax请求(返回xml数据类型)

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  
    <title>My JSP  page</title>
    
    <script>
        
        
        function addText(){
            //创建XMLHttpRequest 请求的对象
            var request = new XMLHttpRequest();
            // 请求的方式
            var method = "GET";
            // 请求的连接地址
            var url = "AServlet";
            // 初始化请求参数
            request.open(method, url,true);
            // 发送请求
            request.send(null);
            request.onreadystatechange = function(){
                // 如果响应请求
                if(request.readyState==4){
                    // 如果请求成功
                    if(request.status==200 || request.status==304){
                        
                        var text = request.responseXML;
                        var province = text.getElementsByTagName("province")[0];
                        //解析xml
                        alert(province);
                        var span = document.getElementsByTagName("span")[0];
                        span.appendChild(province);
                    }
                }
            };
            
        }

    </script>
    
  </head>
  
  <body>
      <h1>解析xml</h1>
      <span>省份:</span><br>
    <a href="#" onclick="addText()">添加文本</a>
  </body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  

  <servlet>
    <servlet-name>AServlet</servlet-name>
    <servlet-class>ajax.AServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>AServlet</servlet-name>
    <url-pattern>/AServlet</url-pattern>
  </servlet-mapping>
  
</web-app>
package ajax;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class AServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;

    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {

        System.out.println("doGet...");
        //设置编码
        request.setCharacterEncoding("utf-8");
        response.setCharacterEncoding("utf-8");
        //设置返回文本的类型
        response.setContentType("text/xml");
        String str="<user>"
                    + "<name>lf</name>"
                    + "<address>"
                        + "<province>广东</province>"
                        + "<city>深圳</city>"
                    + "</address>"
                + "</user>";
        
        response.getWriter().print(str);
        
    }

}

 

jsp Ajax请求(返回xml数据类型)