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 相关文章推荐
Javascript学习笔记7 原型链的原理
Jan 11 Javascript
jQuery右键菜单contextMenu使用实例
Sep 28 Javascript
JavaScript不使用prototype和new实现继承机制
Dec 29 Javascript
javascript另类方法实现htmlencode()与htmldecode()函数实例分析
Nov 17 Javascript
详解jQuery中的DOM操作
Dec 23 Javascript
BootStrap表单控件之文本域textarea
May 23 Javascript
JS中图片压缩的方法小结
Nov 14 Javascript
jquery手机触屏滑动拼音字母城市选择器的实例代码
Dec 11 jQuery
vue给input file绑定函数获取当前上传的对象完美实现方法
Dec 15 Javascript
Vue项目中使用Vux的安装过程
May 01 Javascript
JS使用Date对象实时显示当前系统时间简单示例
Aug 23 Javascript
jQuery中实现text()的方法
Apr 04 jQuery
简单实用的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
日本收入最高的漫画家:海贼王作者版税年收入高达8.45亿元
2020/03/04 日漫
PHP学习之数组的定义和填充
2011/04/17 PHP
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
2015/02/12 PHP
php类的定义与继承用法实例
2015/07/07 PHP
laravel5创建service provider和facade的方法详解
2016/07/26 PHP
Extjs4中Form的使用之本地hiddenfield
2013/11/26 Javascript
使用原生js实现页面蒙灰(mask)效果示例代码
2014/06/20 Javascript
jquery常用操作小结
2014/07/21 Javascript
javascript实现playfair和hill密码算法
2014/12/07 Javascript
js日期范围初始化得到前一个月日期的方法
2015/05/05 Javascript
JSON与XML优缺点对比分析
2015/07/17 Javascript
小程序实现发表评论功能
2018/07/06 Javascript
Vue.js点击切换按钮改变内容的实例讲解
2018/08/22 Javascript
移动端图片上传旋转、压缩问题的方法
2018/10/16 Javascript
详解vue项目接入微信JSSDK的坑
2018/12/14 Javascript
[02:18]《我与DAC》之工作人员:为了热爱DOTA2的玩家们
2018/03/28 DOTA
Python读写Redis数据库操作示例
2014/03/18 Python
Python聚类算法之DBSACN实例分析
2015/11/20 Python
初步剖析C语言编程中的结构体
2016/01/16 Python
基于python元祖与字典与集合的粗浅认识
2017/08/23 Python
使用Python的Dataframe取两列时间值相差一年的所有行方法
2018/07/10 Python
Python3日期与时间戳转换的几种方法详解
2019/06/04 Python
python pandas dataframe 去重函数的具体使用
2020/07/20 Python
浅析PyCharm 的初始设置(知道)
2020/10/12 Python
基于Python中Remove函数的用法讨论
2020/12/11 Python
CSS3 mask 遮罩的具体使用方法
2017/11/03 HTML / CSS
使用HTML5加载音频和视频的实现代码
2020/11/30 HTML / CSS
T3官网:头发造型工具
2019/12/26 全球购物
现在输入n个数字,以逗号,分开;然后可选择升或者降序排序;按提交键就在另一页面显示按什么排序,结果为,提供reset
2012/11/09 面试题
品德评语大全
2014/05/05 职场文书
学生自我鉴定格式及范文
2014/09/16 职场文书
简单通用的简历自我评价
2014/09/21 职场文书
2015年党风廉政建设目标责任书
2015/05/08 职场文书
培训后的感想
2015/08/07 职场文书
SSM项目使用拦截器实现登录验证功能
2022/01/22 Java/Android
Win11电源已接通但未充电怎么办?Win11电源已接通未充电的解决方法
2022/04/05 数码科技