`
lxy2330
  • 浏览: 468708 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

用JQuery的Ajax加载XML并解析的注意事项

阅读更多
1、Content-Type
   很多时候无法解析就是Content-Type的问题。如果本身就是XML文件,请跳过这一步。
   动态生成的XML一定要将其设置为text/xml,否则默认就是text/html也就是普通的文本。
   常见语言的Content-Type设置:
   response.setHeader("ContentType","text/xml");  //jsp
   response.ContentType= "text/xml"; //asp
   header("Content-Type:text/xml"); //php
2、xml结构
   XML一定要封闭的,很重要的!
<?xml version="1.0" encoding="UTF-8"?>
<stulist>
  <student email="lynn@126.com">
    <name>zhangsan</name>
    <id>1</id>
  </student>
  <student email="lynn@sina.com">
    <name>lisi</name>
    <id>2</id>
  </student>
</stulist>
3、解析
   遍历student(这里还是用上面那个XML,子节点是student)
   $.ajax({
     url:'ajax.jsp',
     type:'GET',
     dataType:"xml",
     timeout:1000,
     error:function(xml){alert('Error Loading XML document' + xml);},
     success:function(xml){
       $(xml).find("student").each(function(i){
         var id = $(this).children("id");  //取对象
         var id_value = id.text();  //取文本  或者 $("id",xml).text();
         alert($(this).attr("email"));  //这里显示student下的email属性】
         $('<li></li>').html(id_value).appendTo('ol');
       });
     }
   });

4、禁用缓存
   如果你直接使用Ajax方法,可以使用cache:false来禁用缓存。
   如果你使用get或者post方法,可以在url后面加上时间戳:"xml.jsp?timestamp=" + (new Date());
   注意:不要使用随机数,因为你无法预料到随机数会不会再随机到......

   但是在一切正常的情况下,时间戳是肯定不会重复的。
分享到:
评论

相关推荐

    jQuery Ajax使用 全解析

    ### jQuery Ajax使用时的注意事项 - **跨域问题:** 如果请求的URL跨域,则需要服务器端支持CORS。 - **回调函数中的this指向:** 在回调函数中,this通常指向当前的DOM元素或Ajax请求的配置选项,具体取决于调用...

    jquery-ajax最简单的实力

    4. **XML解析**:使用jQuery的`.find()`和`.each()`遍历XML数据,找到对应省份的所有城市,然后将它们添加到城市下拉框。 5. **事件触发**:在初始页面加载时,也可以自动触发一次AJAX请求,加载默认省份的城市数据...

    jQuery读取XML

    **XML解析** 在上述示例中,`$(xml).find()`是用来遍历XML文档的。jQuery的`.find()`方法可以接受一个CSS选择器,类似于在HTML中定位元素。例如,如果XML结构如下: ```xml &lt;item id="1"&gt;Item 1 &lt;item id="2"&gt;...

    Jquery Ajax解析XML数据(同步及异步调用)简单实例

    本文将介绍如何使用JQuery的Ajax功能来解析XML数据,包括同步调用和异步调用两种方式,并提供了一个简单的实例。 ### 同步调用与异步调用 在使用JQuery Ajax时,我们首先需要决定是采用同步请求还是异步请求。异步...

    jQuery AJAX表格控件(初版)源码

    "51aspx源码必读.txt"可能是阅读源码的一些指导或者注意事项,"最新Asp.Net源码下载.url"则可能指向更多的学习资源。 "DataAccessHelper"目录下的类可能封装了与数据库交互的常用方法,如SQL查询、参数化命令等,为...

    jquery-ajax全面解析

    ### jQuery-Ajax全面解析 #### 一、简介 在现代Web开发中,AJAX(Asynchronous JavaScript and XML)技术已经成为不可或缺的一部分,它允许网页在不重新加载整个页面的情况下与服务器交换数据并更新部分页面内容。...

    jQuery+Ajax+PHP无刷新分页

    **五、优化与注意事项** 1. **错误处理**:确保对Ajax请求的失败情况进行处理,如网络问题或服务器错误。 2. **缓存优化**:考虑使用缓存来提高性能,尤其是对于静态分页内容。 3. **SEO优化**:对于搜索引擎爬虫,...

    jQuery_AJAX 无刷新评论

    虽然名称中含有XML,但现代AJAX通常使用JSON格式传输数据,因为JSON更轻量且易于解析。 **无刷新评论实现步骤** 1. **监听事件**:首先,使用jQuery的`$(document).ready()`或`$(function() {})`来确保在页面加载...

    jQuery + Ajax + json 级联

    - **Ajax**:全称是Asynchronous JavaScript and XML(异步JavaScript和XML),用于在后台与服务器交换数据并更新部分网页,而无需重新加载整个页面。 - **JSON**:JSON(JavaScript Object Notation)是一种轻量级...

    jquery Ajax 实现加载数据前动画效果的示例代码

    通过这篇文章的详细描述和示例代码,我们可以了解到,使用jQuery进行Ajax操作时,可以通过合理地利用回调函数,为用户提供流畅的交互体验,并通过简单的DOM操作来更新页面内容。同时,了解和掌握这些基本概念和技术...

    jquery 操作XML

    **jQuery 操作 XML** 在 Web 开发中,XML(可扩展标记语言)是一...通过 `$.ajax()` 方法,我们可以方便地获取 XML 文件,并使用 jQuery 的选择器和方法来解析和处理数据,为 Web 应用程序带来更高的灵活性和便利性。

    jQuery 滚动投票程序 使用XML或动态取值.zip

    在这个文件中,你可能会看到jQuery的选择器和方法的使用,如`$(document).ready()`来确保代码在DOM加载完毕后执行,`$.ajax()`或`$.get()`来发起Ajax请求,以及`$.parseXML()`来解析接收到的XML数据。 总的来说,这...

    jQuery:ajax

    **注意事项**:如果设置了`dataType`选项,必须确保服务器返回正确的MIME类型,如XML数据应返回"text/xml"。不正确的MIME类型可能会导致请求解析失败或行为异常。 #### 三、高级功能 除了基础的`$.ajax()`,jQuery...

    Jquery+Ajax

    - **数据交换格式**:AJAX最初基于XML,但现在通常使用JSON,因为JSON更轻量且易于解析。 - **请求与响应**:`$.ajax()`方法接受多个参数,如URL、类型(GET或POST)、数据、回调函数等。成功回调处理服务器返回的...

    Ajax无刷新分页(jQuery+Json)

    2. **初始化分页**:页面加载时,使用Ajax请求第一页数据,并填充到页面上。 3. **监听分页按钮**:为分页按钮添加点击事件,当用户点击时,根据当前页码发送Ajax请求获取对应页的数据,并更新页面内容。 4. **动态...

    jQuery无限级ajax加载菜单特效代码

    压缩包中的"使用帮助.txt"可能包含了关于如何配置和使用这个代码的详细步骤和注意事项。"谷普下载.url"和"说明.url"可能是指向更多资源或相关教程的链接。而"jiaoben6707"可能是一个JavaScript文件,里面包含了实际...

    java+jquery处理xml数据的方法

    在jQuery中,可以使用DOM操作方法或jQuery的XML解析方法来处理返回的XML数据。 - `$(data)`方法将返回的XML DOM对象转换为jQuery对象,使其可以使用jQuery的链式操作。 - `children()`方法用于选择所有子节点。 - `...

    Ajax从入门到精通课件

    - **异步加载的用户体验**:如何在Ajax加载过程中给用户反馈,如显示加载指示器。 - **缓存与性能优化**:理解Ajax请求的缓存机制,以及如何优化Ajax请求性能。 - **安全性考虑**:讨论Ajax在安全方面的注意事项...

    燕十八jquery手记

    - **注意事项**: - 外部脚本文件不应该包含`&lt;script&gt;`标签。 - `&lt;script&gt;`标签可以在`&lt;head&gt;`或`&lt;body&gt;`标签中使用,通常推荐放在`&lt;body&gt;`标签的底部,以确保所有DOM元素已经被加载完成后再执行JavaScript代码。 ...

Global site tag (gtag.js) - Google Analytics