`

AJAX 示例:xml数据类型返回

 
阅读更多

servlet:

package ajaxtest;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import com.common.CityBo;

public class SelectServlet extends HttpServlet {
    private static final String CONTENT_TYPE = "text/xml; charset=utf-8";

    //Initialize global variables
    public void init() throws ServletException {
    }

    //Process the HTTP Get request
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws
            ServletException, IOException {
        System.out.println("--> selectListServlet");
        response.setContentType(CONTENT_TYPE);
        PrintWriter out = response.getWriter();
        String provinceId=request.getParameter("province");
        String sql="select * from city where provinceid="+provinceId;
        CityBo bo=new CityBo();
        List list=bo.selectCityList(sql);

        StringBuffer buffer=new StringBuffer("<?xml version=\"1.0\" encoding=\"utf-8\" ?><result>");
        for(int i=0;i<list.size();i++){
            buffer.append("<cityname cid='"+((String[])list.get(i))[0]+"'>");
            buffer.append(((String[])list.get(i))[1]);
            buffer.append("</cityname>");
        }
        buffer.append("</result>");
        System.out.println(buffer.toString());
        out.print(buffer.toString());
        out.close();

    }

    //Process the HTTP Post request
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws
            ServletException, IOException {
        doGet(request, response);
    }

    //Clean up resources
    public void destroy() {
    }
}

 jsp:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>selectList</title>
<META HTTP-EQUIV="content-type" CONTENT="text/html;charset=UTF-8">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
<META HTTP-EQUIV="Expires" CONTENT="0">
<script type="text/javascript">

//创建XMLHttpRequestc对象
var  xmlHttp=false;

function createXMLHttpRequest(){
  if(window.ActiveXObject){//IE浏览器
    try{
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }catch(e){
      try{
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
      }catch(e){}
    }
  }else if(window.XMLHttpRequest) {//其他浏览器:如mozilla 的 fireFox 或者 netscape 7
    xmlHttp=new XMLHttpRequest();
    if(xmlHttp.overrideMimeType) {
      xmlHttp.overrideMimeType("text/html");
    }
  }
}

function processResponse(){
  if(xmlHttp.readyState==4){
    if(xmlHttp.status==200){
      updateList();
    }
  }
}

function updateList(){
  clearList();
  var city=document.getElementById("city");
  var text = xmlHttp.responseText; 
  var xD=xmlHttp.responseXML;   
  if(xD){   
    xD.loadXML(text);   
  }else{   
    var oParser = new DOMParser();   
    xD= oParser.parseFromString(text,"text/xml");   
    //alert(xD.getElementsByTagName("a"));   
  } 
  var res=xD.getElementsByTagName("cityname");
  var option=null;

  for(i=0;i<res.length;i++){
    option=document.createElement("option");
    option.appendChild(document.createTextNode(res[i].firstChild.nodeValue));
    option.setAttribute("value",res[i].getAttribute('cid'));
    city.appendChild(option);
  }
}

function clearList(){
  var city=document.getElementById("city");
  while(city.childNodes.length > 0){
    city.removeChild(city.childNodes[0]);
  }
}
function sendHttp(url){
  createXMLHttpRequest();
  xmlHttp.open("get",url,true);
  xmlHttp.onreadystatechange=processResponse;
  xmlHttp.send(null);
}

function getCity(obj){
  if(obj.value==""){
    alert("请选所居住地省份。");
  }else{
    sendHttp("selectservlet?province="+obj.value);
  }
}
</script>
</head>
<body>
<form action="/web/loginservlet" method="POST" name="f1">

<table align="center">
<th>请输入注册信息:</th>
<tr>
  <td>用户名:</td>
  <td><input type="text" name="username" /></td><!--    onblur="selectUserName()"  -->
</tr>
<tr>
  <td>密&nbsp;&nbsp;码:</td>
  <td><input type="password" name="pass" /></td>
</tr>
<tr>
  <td>确认密码:</td>
  <td><input type="password" name="repass"/></td>
</tr>
<tr>
  <td>昵称:</td>
  <td><input type="text" name="nickname" /></td>
</tr>
<tr>
  <td>真实姓名:</td>
  <td><input type="text" name="realityname"/></td>
</tr>
<tr>
<td>居住地址:</td>
<td>
<select name="province" id="province" style="width:80" onchange="getCity(this)">
<option value="">请选择</option>
<option value="1">吉林省</option>
<option value="2">辽宁省</option>
<option value="3">黑龙江省</option>
<option value="4">广东省</option>
<option value="5">aaaa</option>
</select>
省&nbsp;&nbsp;&nbsp;
<select name="city" id="city" style="width:80">
</select>
市
</td>
</tr>
<tr>
  <td><input type="submit" value="提交" /></td>
  <td><input type="reset" value="重置"/></td>
</tr>
</table>


</form>
</body>
</html>

 

分享到:
评论

相关推荐

    Ajax读取xml数据类型例子

    **Ajax读取XML数据类型详解** 在Web开发中,AJAX(Asynchronous JavaScript and XML)是一种创建动态网页的技术,它允许在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页内容。在这个例子中,我们将...

    Ajax实战:实例详解源代码

    虽然名称中包含XML,但Ajax并不仅限于处理XML数据,还可以处理JSON、HTML、文本等多种格式。例如,获取JSON数据: ```javascript xhr.open('GET', 'data.json', true); xhr.onreadystatechange = function() { if ...

    ajax发送xml请求小示例

    综上所述,这个"ajax发送xml请求小示例"将帮助开发者理解如何使用AJAX与服务器交互,发送XML数据并解析返回的XML响应。在实际项目中,可能需要根据具体需求选择XML或JSON,并结合现代的前端框架(如jQuery、Vue.js或...

    ajax使用例子 包括返回xml

    文档"ajax_xml运用.doc"可能包含了一个使用Ajax获取并解析XML数据的例子。通常,这个过程包括以下几个步骤: 1. **创建XMLHttpRequest对象**:在JavaScript中,通过`new XMLHttpRequest()`来创建一个实例。 2. **...

    解析xml,ajax

    - 使用XML:在早期的Ajax应用中,XML常作为数据交换格式,可以通过XMLHttpRequest的responseXML属性获取XML数据,然后使用DOM或其他解析方式处理数据。 - JSON的兴起:随着JSON的广泛使用,现在的Ajax更多地采用...

    struts2+jquery执行ajax并返回json类型数据(源码)

    在这里,使用`$.ajax()`方法设置请求参数,例如URL(指向你的Struts2 Action),请求类型(通常是POST或GET),以及期望的数据类型('application/json')。 4. **jQuery的Ajax回调**:定义一个成功的回调函数,当...

    关于jquery ajax 调用带参数的webservice返回XML数据一个小细节.docx

    在使用jQuery AJAX调用带有参数的Web Service并期望返回XML数据时,需要注意一些关键细节以确保数据能够正确传输和解析。以下是对这个问题的详细解释: 首先,jQuery的AJAX方法用于在不刷新整个页面的情况下与...

    html静态页JQuery ajax示例demo 源码

    `$.ajax()`是jQuery提供的核心AJAX函数,它允许我们配置各种选项来定制请求,如URL、请求类型(GET或POST)、数据类型(JSON、XML、HTML等)以及请求成功或失败的回调函数。 在C# ASP.NET环境下,我们可以创建一个...

    ajax 简单示例

    总的来说,这个简单的Ajax示例展示了如何在不刷新整个页面的情况下与服务器进行通信,以及如何在Struts框架中配合使用Ajax。在实际开发中,我们还可以进一步优化,比如添加错误处理、使用Promise等现代JavaScript...

    简单的JqueryAjax的示例

    数据类型(dataType) - **json**:服务器返回JSON格式数据。 - **html**:服务器返回HTML片段。 - **text**:服务器返回纯文本。 - **xml**:服务器返回XML文档。 ### 4. 数据序列化(data选项) 在发送POST...

    ajax示例 原代码

    jQuery的Ajax函数提供了更多可配置选项,如数据类型、缓存设置、全局事件等,使得Ajax编程更加方便。 通过以上介绍,我们可以了解到Ajax的基本概念、工作流程以及在实际开发中的应用。结合提供的原代码,开发者可以...

    18个Ajax 示例

    JSON与XML数据格式 - **JSON(JavaScript Object Notation)**:轻量级,易于人阅读和编写,也易于机器解析和生成。在现代Web开发中更常见。 - **XML**:结构化,适用于复杂数据,但解析相对复杂。 ### 5. 18个...

    ajax 纯JavaScript demo ajax示例

    在压缩包文件"ajaxBasicJavaScript"中,可能包含了一些基础的Ajax示例代码,这些代码可能涵盖了上述步骤的实现,用于展示如何使用JavaScript进行Ajax请求。通过学习和分析这些示例,你可以更好地理解Ajax的工作原理...

    Ajax Demo Ajax 示例 XMLHttpRequest 异步 静态

    Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。在实际应用中,Ajax 大大提升了用户体验,因为它允许页面背景与服务器进行数据交互,而用户界面则保持活跃...

    Ajax详细示例

    Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。Ajax的核心是利用JavaScript创建XMLHttpRequest...

    ajax实战:配套源码

    Ajax(Asynchronous JavaScript and XML)技术是Web开发中的一个重要组成部分,它使得网页可以在不刷新整个页面的情况下与服务器进行数据交互,显著提升了用户体验。本篇文章将深入探讨`Ajax`的核心原理,并结合提供...

    php ajax 示例源码

    综上,这个PHP AJAX 示例源码展示了如何通过JavaScript发起异步请求,PHP接收并处理数据,最后将处理结果返回给前端的过程。这种技术在动态网站、实时更新和无刷新交互等方面有广泛的应用。通过深入理解并实践这些...

    ajax-xml-aspnet读存数据基础代码

    - **ajaxxml.aspx**: 这个页面是处理Ajax请求的核心,它会接收并响应来自客户端的Ajax请求,执行相应的XML数据操作。 - **Show.config**: 这可能是一个配置文件,用于设置服务器端的数据源或者其他相关配置信息。 - ...

    ajax示例代码 网址示例

    dataType: "json", // 预期的数据类型 success: function(response){ // 处理成功返回的数据 console.log(response); // 假设response是一个JSON对象,可以使用DOM操作更新页面 var data = response.data; $...

Global site tag (gtag.js) - Google Analytics