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 相关文章推荐
FormValidate 表单验证功能代码更新并提供下载
Aug 23 Javascript
jquery load事件(callback/data)使用方法及注意事项
Feb 06 Javascript
JS验证控制输入中英文字节长度(input、textarea等)具体实例
Jun 21 Javascript
AngularJS的一些基本样式初窥
Jul 27 Javascript
Jquery效果大全之制作电脑健康体检得分特效附源码下载
Nov 02 Javascript
jQuery+css实现的时钟效果(兼容各浏览器)
Jan 27 Javascript
JS模拟简易滚动条效果代码(附demo源码)
Apr 05 Javascript
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
Dec 14 Javascript
jquery Ajax 全局调用封装实例详解
Jan 16 Javascript
Bootstrap 模态框(Modal)带参数传值实例
Aug 20 Javascript
详解angularjs popup-table 弹出框表格指令
Sep 20 Javascript
微信小程序搭建自己的Https服务器
May 02 Javascript
简单实用的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 Undefined index的问题
2009/06/01 PHP
php中的观察者模式
2010/03/24 PHP
php中current、next与reset函数用法实例
2014/11/17 PHP
php实现编辑和保存文件的方法
2015/07/20 PHP
js滚动条回到顶部的代码
2011/12/06 Javascript
JavaScript 垃圾回收机制分析
2013/10/10 Javascript
SeaJS入门教程系列之使用SeaJS(二)
2014/03/03 Javascript
Bootstrap实现响应式导航栏效果
2015/12/28 Javascript
JS组件Bootstrap导航条使用方法详解
2016/04/29 Javascript
微信小程序 引入es6 promise
2017/04/12 Javascript
详解webpack 如何集成第三方js库
2017/06/29 Javascript
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
2017/06/30 Javascript
原生JavaScript来实现对dom元素class的操作方法(推荐)
2017/08/16 Javascript
微信小程序学习笔记之本地数据缓存功能详解
2019/03/29 Javascript
vue.js实现备忘录demo
2019/06/26 Javascript
[02:05:03]完美世界DOTA2联赛循环赛 LBZS VS Matador BO2 10.28
2020/10/28 DOTA
python制作一个桌面便签软件
2015/08/09 Python
浅谈python抛出异常、自定义异常, 传递异常
2016/06/20 Python
python生成圆形图片的方法
2020/03/25 Python
Ubuntu18.04下python版本完美切换的解决方法
2019/06/14 Python
python实现一个猜拳游戏
2020/04/05 Python
python将dict中的unicode打印成中文实例
2020/05/11 Python
轻松掌握CSS3中的字体大小单位rem的使用方法
2016/05/24 HTML / CSS
戴尔马来西亚官网:Dell Malaysia
2020/05/02 全球购物
Genny意大利官网:意大利高级时装品牌
2020/04/15 全球购物
大唐电信科技股份有限公司java工程师面试经历
2016/12/09 面试题
员工工作表现评语
2014/04/26 职场文书
亲子运动会的活动方案
2014/08/17 职场文书
三八活动策划方案
2014/08/17 职场文书
租房协议书范文
2014/08/20 职场文书
十佳青年事迹材料
2014/08/21 职场文书
中秋节国旗下演讲稿
2014/09/13 职场文书
上课迟到检讨书
2015/05/06 职场文书
2015年保险公司内勤工作总结
2015/05/23 职场文书
演讲开头怎么书写?
2019/08/06 职场文书
Vscode中SSH插件如何远程连接Linux
2022/05/02 Servers