溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

AJAX+JSP實(shí)現(xiàn)讀取XML內(nèi)容并按排列顯示輸出的方法示例

發(fā)布時(shí)間:2021-06-03 10:47:41 來源:億速云 閱讀:155 作者:小新 欄目:web開發(fā)

這篇文章給大家分享的是有關(guān)AJAX+JSP實(shí)現(xiàn)讀取XML內(nèi)容并按排列顯示輸出的方法示例的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

實(shí)現(xiàn)功能:點(diǎn)擊按扭,顯示出JSP頁面中通過out.println傳過來的xml信息

一、含XML的JSP頁面

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
  response.setContentType("text/xml");
  String txt = request.getParameter("username");
  out.println("<student><name>張三</name><age>21</age><sex>男</sex></student>");
 %>

二、AJAX處理并顯示返回頁面

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
 <head>
  <title>ajax02</title>
  <script type="text/javascript">
  /*
    ajax 的幾個(gè)步驟:
    1、建立XmlHttpRequest對象
    2、設(shè)置回調(diào)函數(shù)
    3、使用Open方法建立與服務(wù)器的連接
    4、向服務(wù)器發(fā)送數(shù)據(jù)
    5、在回調(diào)函數(shù)中針對不同響應(yīng)狀態(tài)進(jìn)行處理
  */
    var xmlHttp;
    function createXMLHttpRequest(){  //1建立XmlHttpRequest對象
      if(window.ActiveXObject){
        try{
          alert("Msxml2.XmlHttp.5.0");
            xmlHttp = new ActiveXObject("Msxml2.XmlHttp.5.0");
        }catch(e){
          try{
            xmlHttp = new ActiveXObject("Microsoft.XMLHttp");
          }catch(e){
            alert("Microsoft.XMLHttp");
          }
        }
      }else{
        xmlHttp = new XMLHttpRequest();
      }
    }
    function showMes(){   //2設(shè)置回調(diào)函數(shù)
      if(xmlHttp.readyState==4){ //數(shù)據(jù)接收完成并可以使用
        if(xmlHttp.status==200){ //http狀態(tài)OK
        //5、在回調(diào)函數(shù)中針對不同響應(yīng)狀態(tài)進(jìn)行處理
        // document.getElementById("sp").innerHTML = xmlHttp.responseText; //服務(wù)器的響應(yīng)內(nèi)容
          var name = xmlHttp.responseXML.getElementsByTagName("name")[0].firstChild.nodeValue;
          var age = xmlHttp.responseXML.getElementsByTagName("age")[0].firstChild.nodeValue;
          var sex = xmlHttp.responseXML.getElementsByTagName("sex")[0].firstChild.nodeValue;
          document.getElementById("spanname").innerHTML = name;
          document.getElementById("spanage").innerHTML = age;
          document.getElementById("spansex").innerHTML = sex;
        }else{
          alert("出錯(cuò):"+xmlHttp.statusText); //HTTP狀態(tài)碼對應(yīng)的文本
        }
      }
    }
    /**
    //這是GET方法傳送
    function getMes(){
      createXMLHttpRequest();
      var txt = document.getElementById("txt").value;
      var url="servlet/AjaxServlet?txt="+txt;
      url = encodeURI(url); //轉(zhuǎn)換碼后再傳輸
      xmlHttp.open("GET",url,true); //3使用Open方法建立與服務(wù)器的連接
      xmlHttp.onreadystatechange=showMes;
      xmlHttp.send(null); //4向服務(wù)器發(fā)送數(shù)據(jù)
    }
    */
    /**
    *這是post方法
    */
    function postMes(){
      createXMLHttpRequest();
      var txt = document.getElementById("txt").value;
    // var url = "servlet/AjaxServlet";
      var url = "work02forxml-2.jsp"
      var params = "username="+txt;
      xmlHttp.open("POST",url,true);
      xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
      xmlHttp.send(params);
      xmlHttp.onreadystatechange = showMes;
    }
  </script>
 </head>
 <body>
  <input type="text" id="txt"/>
  <input type="button" value="query" onclick="postMes()" /><br>
  <span id="sp"></span>
  姓名:<span id="spanname"></span><br>
  年齡:<span id="spanage"></span><br>
  性別:<span id="spansex"></span>
 </body>
</html>

感謝各位的閱讀!關(guān)于“AJAX+JSP實(shí)現(xiàn)讀取XML內(nèi)容并按排列顯示輸出的方法示例”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI