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 相关文章推荐
jquery ui dialog里调用datepicker的问题
Aug 06 Javascript
jQuery图片切换插件jquery.cycle.js使用示例
Jun 16 Javascript
ES6中非常实用的新特性介绍
Mar 10 Javascript
Bootstrap学习笔记之css组件(3)
Jun 07 Javascript
jQuery插件学习教程之SlidesJs轮播+Validation验证
Jul 12 Javascript
JavaScript比较当前时间是否在指定时间段内的方法
Aug 02 Javascript
js判断checkbox是否选中个数的方法(超简单)
Aug 19 Javascript
node.js版本管理工具n无效的原理和解决方法
Nov 24 Javascript
javascript基于原型链的继承及call和apply函数用法分析
Dec 15 Javascript
关于前后端json数据的发送与接收详解
Jul 30 Javascript
Bootstrap Table 删除和批量删除
Sep 22 Javascript
移动端网页开发调试神器Eruda的介绍与使用技巧
Oct 30 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中include文件变量作用域
2015/06/18 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
2017/01/24 PHP
PHP最常用的正则表达式
2017/02/13 PHP
PHP开发中csrf攻击的简单演示和防范
2017/05/07 PHP
javascript 简练的几个函数
2009/08/29 Javascript
jQuery lazyload 的重复加载错误以及修复方法
2010/11/19 Javascript
JS弹出对话框返回值代码(asp.net后台)
2010/12/28 Javascript
jqTransform form表单美化插件使用方法
2012/07/05 Javascript
使用jQuery.fn自定义jQuery翻页插件
2013/01/20 Javascript
JS获取计算机mac地址以及IP的实现方法
2014/01/08 Javascript
node.js抓取并分析网页内容有无特殊内容的js文件
2015/11/17 Javascript
JS判断是否手机或pad访问实现方法
2016/12/09 Javascript
nodejs初始化init的示例代码
2018/10/10 NodeJs
详解如何搭建mpvue框架搭配vant组件库的小程序项目
2019/05/16 Javascript
Node.js API详解之 dns模块用法实例分析
2020/05/15 Javascript
使用React代码动态生成栅格布局的方法
2020/05/24 Javascript
python用字典统计单词或汉字词个数示例
2014/04/22 Python
Python入门篇之字符串
2014/10/17 Python
python交互式图形编程实例(三)
2017/11/17 Python
教你使用python画一朵花送女朋友
2018/03/29 Python
django 在原有表格添加或删除字段的实例
2018/05/27 Python
Python Grid使用和布局详解
2018/06/30 Python
python爬虫之自动登录与验证码识别
2020/06/15 Python
对pandas通过索引提取dataframe的行方法详解
2019/02/01 Python
利用Python代码实现一键抠背景功能
2019/12/29 Python
解决Django Haystack全文检索为空的问题
2020/05/19 Python
python属于哪种语言
2020/08/16 Python
python wsgiref源码解析
2021/02/06 Python
Bibloo匈牙利:女装、男装、童装及鞋子和配饰
2019/04/14 全球购物
英国最大的割草机购买网站:Just Lawnmowers
2019/11/02 全球购物
班会关于环保演讲稿
2013/12/29 职场文书
中学生打架检讨书
2014/10/13 职场文书
医院保洁员岗位职责
2015/02/13 职场文书
员工开除通知书
2015/04/25 职场文书
文明礼仪主题班会
2015/08/13 职场文书
Mysql中存储引擎的区别及比较
2021/06/04 MySQL