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 相关文章推荐
js中各浏览器中鼠标按键值的差异
Apr 07 Javascript
JS动态获取当前时间,并写到特定的区域
May 03 Javascript
JAVASCRIPT函数作用域和提前声明 分享
Aug 22 Javascript
文本框回车提交与禁止提交示例
Sep 27 Javascript
JavaScript中的类数组对象介绍
Dec 30 Javascript
jquery ui resize 中border-box的bug修正
Apr 26 Javascript
分享两段简单的JS代码防止SQL注入
Apr 12 Javascript
JS中innerHTML和pasteHTML的区别实例分析
Jun 22 Javascript
JS实现复制内容到剪贴板功能
Feb 05 Javascript
微信禁止下拉查看URL的处理方法
Sep 28 Javascript
vue移动UI框架滑动加载数据的方法
Mar 12 Javascript
使用vue-cli3+typescript的项目模板创建工程的教程
Feb 28 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
MySql中正则表达式的使用方法描述
2008/07/30 PHP
PHP与MySQL开发的8个技巧小结
2010/12/17 PHP
Yii2 加载css、js 载静态资源的方法
2017/03/10 PHP
解决PHP使用CURL发送GET请求时传递参数的问题
2019/10/11 PHP
jquery 常用操作整理 基础入门篇
2009/10/14 Javascript
用jQuery与JSONP轻松解决跨域访问的问题
2014/02/04 Javascript
js用Date对象的setDate()函数对日期进行加减操作
2014/09/18 Javascript
Javascript中的call()方法介绍
2015/03/15 Javascript
JavaScript获取当前网页最后修改时间的方法
2015/04/03 Javascript
jquery验证邮箱格式是否正确实例讲解
2015/11/16 Javascript
js弹出对话框方式小结
2015/11/17 Javascript
很棒的js选项卡切换效果
2016/07/15 Javascript
Bootstrap导航条学习使用(二)
2017/02/08 Javascript
Bootstrap 模态框多次显示后台提交多次BUG的解决方法
2017/12/26 Javascript
Vue.js 动态为img的src赋值方法
2018/03/14 Javascript
微信小程序将字符串生成二维码图片的操作方法
2018/07/17 Javascript
nodejs中各种加密算法的实现详解
2019/07/11 NodeJs
详解关闭令人抓狂的ESlint 语法检测配置方法
2019/10/28 Javascript
Vue proxyTable配置多个接口地址,解决跨域的问题
2020/09/11 Javascript
[02:34]DOTA2亚洲邀请赛 BG战队出场宣传片
2015/03/09 DOTA
Python实现快速排序算法及去重的快速排序的简单示例
2016/06/26 Python
Python用csv写入文件_消除空余行的方法
2018/07/06 Python
小白入门篇使用Python搭建点击率预估模型
2018/10/12 Python
使用opencv中匹配点对的坐标提取方式
2020/06/04 Python
浅谈Keras的Sequential与PyTorch的Sequential的区别
2020/06/17 Python
Python函数的迭代器与生成器的示例代码
2020/06/18 Python
拿来就用!Python批量合并PDF的示例代码
2020/08/10 Python
HTML5之SVG 2D入门12—SVG DOM及DOM操作介绍
2013/01/30 HTML / CSS
canvas 橡皮筋式线条绘图应用方法
2019/02/13 HTML / CSS
金融专业个人求职信
2013/09/22 职场文书
高中美术教学反思
2014/01/19 职场文书
小学语文教学经验交流材料
2014/06/02 职场文书
检察院对照“四风”认真查找问题落实整改措施
2014/09/26 职场文书
行风评议整改报告
2014/11/06 职场文书
运动会加油稿50字
2015/07/21 职场文书
使用 Apache Dubbo 实现远程通信(微服务架构)
2022/02/12 Servers