jquery $.ajax()取xml数据的小问题解决方法_jquery

开始的代码如下:

复制代码 代码如下:

$.ajax({
type: "get",
url: "Database/App_all.xml",
dataType: "xml",
timeout: 2000,
beforeSend: function () {},
success: function (xml) {
$(xml).find("app[id='id-1']").find("auther").appendTo($("#contain"));
},
error: function () {
alert("ajax failed!");
}
});

也就是,从App_all.xml这个文件中找到id为“id-1”的这一项,并将继续在其子节点中找到auther标签,并将其内容加入到id 为contain
的div中,xml中我要查找的内容为<auther>cocept</auther>,我就是想把cocept这个字段取出来,放入容器中

结果这段代码在firefox中生效,在opera中也生效,但是在Safari和chrome中却没有效果,于是我上jQuery的官方论坛,和StackFlowover
论坛提问,后者有人回复我:
  I assure you I was using $.ajax with Chrome just five hours ago at the office, and had no such problem.
  I also imagine they use it here on SO and I have no problems here. I have no problems on jQueryUI in Chrome. I think it is your code.
大意就是斩钉截铁的说他用起来没有问题,是我自己的问题,我也纳闷了,后面也有人给我的建议更复杂:

You should use chrome's or safari's built-in developer tools (ctrl+shift+i) to track JS errors and track actual AJAX requests.

Is your code wrapped in document.ready? Is there any erros in javascript console? Also try to output something after success callback line.
Another cause for this could be incorrect mime-type for your XML file returned by server. It should be [Content-type: text/xml].
You can check that in chrome's or safari's built-in developer tools - just look for headers tab when xml resource is selected.
If it 's actual problem, you may need to tweak web-server configuration (main config or .htaccess for apache) to return correct mime-type

毕竟是自学jquery ajax框架刚起步……就遇到这么棘手的问题,的确麻烦……

但是,由于我一个不经意的发现,问题迎刃而解……

我用firebug查看成功后的页面元素状态,发现:

复制代码 代码如下:

<div id="contain">
<auther>cocept</auther>
</div>

我恍然大悟,原来这种直接用pretendTo插入的方法会连tagname也插入进去,难怪chrome和Safari不能识别(从另一个方面来说Firefox原来强大这么多……)  于是修改后的代码如下:

复制代码 代码如下:

success: function (xml) {
$("#contain").html($(xml).find("app[id='id-1']").find("auther").text());
}

先取出所需元素的text()的值,再以修改html的方法html()插入容器中,大功告成啦!测试均通过

时间: 2024-10-27 16:54:49

jquery $.ajax()取xml数据的小问题解决方法_jquery的相关文章

Jquery通过Ajax访问XML数据的小例子_jquery

页面js代码 复制代码 代码如下: $.ajax({ url : '...',type : 'POST',dataType : 'xml',error : function(xml) {alert("Error loading XML document" + xml);},success : function(xml) {$(xml).find("X").each(function(i) {alert($(this).attr("Xattr"))

IE9下Ajax无法刷新数据的缓存问题解决方法_AJAX相关

使用jQuery的getJSON从后台定时获取数据并刷新界面,使用以下方法时,在Chrome,Firefox下没问题,但在IE9下却无法刷新数据 $.getJSON(webApp + "/GetShowData.do?limit=" + limit,function(data){ //****************** } 原因是,在IE9下,进行Ajax请求时,若与之前请求相同,则不会再从浏览器获取数据,而是直接从本地获取,因此,在请求中加上时间戳,IE9便会认为是不同的请求,代码

jquery 1.3.2 IE8中的一点点的小问题解决方法_jquery

使用的时候是这个样子的: 复制代码 代码如下: var _val = $("input[name='input1'][checked]").val(); 结果发现_val的值为undefined,开始还以为写的不对,可检查没有问题,这样写在IE6.7.FF.Chrome.Opera.Safari中都可以正常的得到值,就是在IE8中不行.百思不得其解,后来又实验: 复制代码 代码如下: var _val = $("input[name='input1']").eq(0

Jquery Ajax解析XML数据简单实例

 本篇文章主要是对Jquery Ajax解析XML数据(同步及异步调用)的简单实例进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 代码如下: $.ajax({                 async: true, // 默认true(异步请求)                 cache: true, // 默认true,设置为 false 将不会从浏览器缓存中加载请求信息.                 type: "POST", // 默认:GET 请求方式:[PO

ajax返回xml数据问题(帮忙看一下)

问题描述 ajax返回xml数据问题(帮忙看一下) if (xhr.readyState == 4) { if (xhr.status == 200) { var myval=""; var myval=xhr.responseXML; var myvals=xhr.responseText; window.alert(myvals); var cons=myval.getElementsByTagName("content");//报错说:Uncaught Typ

Android发送xml数据给服务器的方法_Android

本文实例讲述了Android发送xml数据给服务器的方法.分享给大家供大家参考.具体如下: 一.发送xml数据: public static void main(String[] args) throws Exception { String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><videos><video><title>中国</title&

asp.net2.0开发遇到的小问题解决方法

asp.net|解决|问题 asp.net2.0开发遇到的小问题解决方法一.页面比较长,如果页面提交到服务器时保存滚动条的位置,可以使用下面的两种方式:1.Page.MaintainScrollPositionOnPostback当网页回发到服务器时,用户将返回到该页的页首.在较长的网页中,这意味着用户必须将页滚动到该页的上一位置.当 MaintainScrollPositionOnPostback 属性设置为 true 时,用户将返回到该页的上一位置.2. Page.SmartNavigati

Android发送xml数据给服务器的方法

本文实例讲述了Android发送xml数据给服务器的方法.分享给大家供大家参考.具体如下: 一.发送xml数据: public static void main(String[] args) throws Exception { String xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><videos><video><title>中国</title&

jQuery+ajax+asp.net获取Json值的方法_jquery

本文实例讲述了jQuery+ajax+asp.net获取Json值的方法.分享给大家供大家参考,具体如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>jQueryAjaxJson取值示例</title> <script type="text/javascript" src="Scripts/jquery-1.4.4.min.js&