標籤:object hello 格式 back 1.4 ems page meta pen
AJAX的響應的資料格式:
文本,一段HTML的資料,XML,JSON。
使用工具產生xml的檔案:
通常使用XStream工具,將集合,數組,對象轉化成XML格式。
步驟一:匯入XStream工具包:xpp3_min-1.1.4c.jar;xstream-1.4.4.jar;
步驟二:XStream的使用:
List<City> list = ps.searchCityByPid(pid); XStream xStream = new XStream();//建立XStream對象 xStream.alias("city", City.class);//設定將對象的全路徑替換為你指定的字串 //如果不做下面的設定,那麼轉換為xml後,對象和對象成員變數的關係如同xml中父標籤和子標籤的關係; //如下設定為轉換為xml後,對象和對象成員變數的關係如果xml中一個標籤中有多個屬性的關係; //xStream.useAttributeFor(City.class, "cname");//設定對象目標成員變數轉換後為xml中標籤屬性。 //xStream.useAttributeFor(City.class, "cid"); String xmlStr = xStream.toXML(list); //這裡設定為text/xml;那麼前端頁面迴響的資料類型就為[object XMLDocument] //倘若這裡設定為text/html,那麼前端就是html標籤即字串 response.setContentType("text/xml;charset=utf-8"); response.getWriter().print(xmlStr);
在用戶端解析xml檔案:
1 <html> 2 <head> 3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 4 <title>Hello Miss Dang</title> 5 </head> 6 <script src="${pageContext.request.contextPath}/js/jquery-1.11.3.min.js"></script> 7 <script type="text/javascript"> 8 $(function(){ 9 $("#province").change(function(){10 var pid = $(this).val();11 $.post("${pageContext.request.contextPath}/CitysServlet",{"pid":pid},function(data){12 alert(data);13 $("#city").html("<option>-請選擇市-</option>");14 $(data).find("city").each(function(){15 var cid = $(this).children("cid").text();16 var cname = $(this).children("cname").text();17 $("#city").append("<option value = ‘"+cid+"‘>"+cname+"</option>");18 });19 });20 });21 });22 23 </script>24 <body>25 <form>26 <select id="province">27 <option>-請選擇省-</option>28 <c:forEach var="i" items="${ list }">29 <option value="${ i.pid }">${ i.pname }</option>30 </c:forEach>31 </select>32 <select id = "city">33 34 </select>35 </form>36 </body>37 </html>
JQuery實現AJAX非同步請求實現省市聯動(資料轉送格式為xml)