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 学习笔记二 字符串拼接
Mar 28 Javascript
JavaScript Title、alt提示(Tips)实现源码解读
Dec 12 Javascript
node.js中的http.createServer方法使用说明
Dec 14 Javascript
window.setInterval()方法的定义和用法及offsetLeft与style.left的区别
Nov 11 Javascript
javascript实现网页中涉及的简易运动(改变宽高、透明度、位置)
Nov 29 Javascript
jQuery stop()用法实例详解
Jul 28 Javascript
Vue2.0设置全局样式(less/sass和css)
Nov 18 Javascript
vue-lazyload图片延迟加载插件的实例讲解
Feb 09 Javascript
vue 点击展开显示更多(点击收起部分隐藏)
Apr 09 Javascript
layer.open提交子页面的form和layedit文本编辑内容的方法
Sep 27 Javascript
微信小程序实现录制、试听、上传音频功能(带波形图)
Feb 27 Javascript
JS面向对象编程实现的拖拽功能案例详解
Mar 03 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
提示Trying to clone an uncloneable object of class Imagic的解决
2011/10/27 PHP
一个好用的PHP验证码类实例分享
2013/12/27 PHP
PHP实现数组递归转义的方法
2014/08/28 PHP
Dwz与thinkphp整合下的数据导出到Excel实例
2014/12/04 PHP
实例讲解如何在PHP的Yii框架中进行错误和异常处理
2016/03/17 PHP
js 覆盖和重载 函数
2009/09/25 Javascript
加载 Javascript 最佳实践
2011/10/30 Javascript
JavaScript调试技巧之console.log()详解
2014/03/19 Javascript
DOM基础教程之使用DOM设置文本框
2015/01/20 Javascript
jQuery检查事件是否触发的方法
2015/06/26 Javascript
JavaScript原型继承_动力节点Java学院整理
2017/06/30 Javascript
BootStrap Table实现server分页序号连续显示功能(当前页从上一页的结束序号开始)
2017/09/12 Javascript
vue完成项目后,打包成静态文件的方法
2018/09/03 Javascript
小程序日历控件使用方法详解
2018/12/29 Javascript
mpvue性能优化实战技巧(小结)
2019/04/17 Javascript
微信小游戏之使用three.js 绘制一个旋转的三角形
2019/06/10 Javascript
JS把字符串格式的时间转换成几秒前、几分钟前、几小时前、几天前等格式
2019/07/10 Javascript
JS在Array数组中按指定位置删除或添加元素对象方法示例
2019/11/19 Javascript
多页vue应用的单页面打包方法(内含打包模式的应用)
2020/06/11 Javascript
详解Python使用simplejson模块解析JSON的方法
2016/03/24 Python
Python编程之黑板上排列组合,你舍得解开吗
2017/10/30 Python
深入理解Python中的super()方法
2017/11/20 Python
对pandas中Series的map函数详解
2018/07/25 Python
sklearn+python:线性回归案例
2020/02/24 Python
python 读取串口数据的示例
2020/11/09 Python
美国知名的摄影器材销售网站:Adorama
2017/02/01 全球购物
Desigual德国官网:在线购买原创服装
2018/03/27 全球购物
Linux内核产生并发的原因
2012/07/13 面试题
销售自荐信
2013/10/22 职场文书
小学生国庆节演讲稿
2014/09/05 职场文书
优秀党员申报材料
2014/12/18 职场文书
升学宴学生答谢词
2015/01/05 职场文书
婚宴父母致辞
2015/07/27 职场文书
MySQL索引失效的典型案例
2021/06/05 MySQL
MySQL范围查询优化的场景实例详解
2022/06/10 MySQL
OpenFeign实现远程调用
2022/08/14 Java/Android