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


Posted in Javascript onNovember 20, 2010

开始的代码如下:

$.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()插入容器中,大功告成啦!测试均通过
Javascript 相关文章推荐
Wordpress ThickBox 添加“查看原图”效果代码
Dec 11 Javascript
JS 各种网页尺寸判断实例方法
Apr 18 Javascript
jQuery ReferenceError: $ is not defined 错误的处理办法
May 10 Javascript
Javascript的&amp;&amp;和||的另类用法
Jul 23 Javascript
提升PHP安全:8个必须修改的PHP默认配置
Nov 17 Javascript
node.js超时timeout详解
Nov 26 Javascript
underscore之function_动力节点Java学院整理
Jul 11 Javascript
详解layui弹窗父子窗口之间传参数的方法
Jan 16 Javascript
Vue.directive使用注意(小结)
Aug 31 Javascript
Vue使用Proxy监听所有接口状态的方法实现
Jun 07 Javascript
jQuery实现html可联动的百分比进度条
Mar 26 jQuery
VUE递归树形实现多级列表
Jul 15 Vue.js
简单实用的js调试logger组件实现代码
Nov 20 #Javascript
扩展javascript的Date方法实现代码(prototype)
Nov 20 #Javascript
javascript AOP 实现ajax回调函数使用比较方便
Nov 20 #Javascript
AJAX异步从优酷专辑中采集所有视频及信息(JavaScript代码)
Nov 20 #Javascript
javascript来定义类的规范小结
Nov 19 #Javascript
Javascript面象对象成员、共享成员变量实验
Nov 19 #Javascript
js 创建快捷方式的代码(fso)
Nov 19 #Javascript
You might like
PHP脚本的10个技巧(6)
2006/10/09 PHP
用mysql触发器自动更新memcache的实现代码
2009/10/11 PHP
PHP 第一节 php简介
2012/04/28 PHP
PHP5.3以上版本安装ZendOptimizer扩展
2015/03/27 PHP
用js重建星际争霸
2006/12/22 Javascript
Firefox+FireBug使JQuery的学习更加轻松愉快
2010/01/01 Javascript
jQuery+CSS 实现的超Sexy下拉菜单
2010/01/17 Javascript
javascript document.compatMode兼容性
2010/02/23 Javascript
从盛大通行证上摘下来的身份证验证js代码
2011/01/11 Javascript
jquery插件制作 提示框插件实现代码
2012/08/17 Javascript
jQuery点击tr实现checkbox选中的方法
2013/03/19 Javascript
JavaScript继承基础讲解(原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承)
2014/08/16 Javascript
javascript框架设计读书笔记之种子模块
2014/12/02 Javascript
JQuery.get提交页面不跳转的解决方法
2015/01/13 Javascript
详解JavaScript作用域 闭包
2020/07/29 Javascript
jQuery实现动态加载瀑布流
2020/09/01 jQuery
[01:18]DOTA2超级联赛专访hanci ForLove淘汰感言曝光
2013/06/04 DOTA
[02:04]2018DOTA2亚洲邀请赛Secret赛前采访
2018/04/03 DOTA
[40:05]LGD vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python语言描述机器学习之Logistic回归算法
2017/12/21 Python
tensorflow输出权重值和偏差的方法
2018/02/10 Python
基于pip install django失败时的解决方法
2018/06/12 Python
Python 复平面绘图实例
2019/11/21 Python
Python基础之函数基本用法与进阶详解
2020/01/02 Python
Python内置异常类型全面汇总
2020/05/28 Python
美国智能家居专家:tink
2019/06/04 全球购物
信息专业学生学习的自我评价
2014/02/17 职场文书
大学生个人求职信
2014/06/02 职场文书
2014党员学习习主席讲话思想汇报
2014/09/15 职场文书
2014年环保工作总结
2014/11/26 职场文书
实习介绍信范文
2015/05/05 职场文书
麦田里的守望者读书笔记
2015/06/30 职场文书
周末问候语大全
2015/11/10 职场文书
八年级物理教学反思
2016/02/19 职场文书
解决Goland 同一个package中函数互相调用的问题
2021/05/06 Golang
Python 批量下载阴阳师网站壁纸
2021/05/19 Python