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插件jTimer(jquery定时器)使用方法
Dec 23 Javascript
JS不间断向上滚动效果代码
Dec 25 Javascript
jsp网页搜索结果中实现选中一行使其高亮
Feb 17 Javascript
JavaScript strike方法入门实例(给字符串加上删除线)
Oct 17 Javascript
javascript搜索框效果实现方法
May 14 Javascript
修改js confirm alert 提示框文字的简单实例
Jun 10 Javascript
Node.js中使用jQuery的做法
Aug 17 Javascript
jQuery插件HighCharts实现的2D面积图效果示例【附demo源码下载】
Mar 15 Javascript
使用Require.js封装原生js轮播图的实现代码
Jun 15 Javascript
React+react-dropzone+node.js实现图片上传的示例代码
Aug 23 Javascript
vue中使用v-for时为什么不能用index作为key
Apr 04 Javascript
vue自定义标签和单页面多路由的实现代码
May 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
PHP安装攻略:常见问题解答(一)
2006/10/09 PHP
php缩小png图片不损失透明色的解决方法
2013/12/25 PHP
php中simplexml_load_string使用实例分享
2014/02/13 PHP
初识PHP
2014/09/28 PHP
php解析url并得到url中的参数及获取url参数的四种方式
2015/10/26 PHP
分享五个PHP7性能优化提升技巧
2015/12/07 PHP
CI配置多数据库访问的方法
2016/03/28 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
2016/12/23 PHP
js报错 Object doesn't support this property or method的原因分析
2011/03/31 Javascript
js中eval()函数和trim()去掉字符串左右空格应用
2013/02/02 Javascript
js实现浏览器的各种菜单命令比如打印、查看源文件等等
2013/10/24 Javascript
javascript中闭包(Closure)详解
2016/01/06 Javascript
小白谈谈对JS原型链的理解
2016/05/03 Javascript
AngularJS利用Controller完成URL跳转
2016/08/09 Javascript
简单实现Vue的observer和watcher
2016/12/21 Javascript
Vue路由切换时的左滑和右滑效果示例
2018/05/29 Javascript
利用H5api实现时钟的绘制(javascript)
2020/09/13 Javascript
Vue 实现可视化拖拽页面编辑器
2021/02/01 Vue.js
Django渲染Markdown文章目录的方法示例
2019/01/02 Python
详解用python实现基本的学生管理系统(文件存储版)(python3)
2019/04/25 Python
python反转列表的三种方式解析
2019/11/08 Python
python装饰器原理与用法深入详解
2019/12/19 Python
python按顺序重命名文件并分类转移到各个文件夹中的实现代码
2020/07/21 Python
基于Python的图像阈值化分割(迭代法)
2020/11/20 Python
遮罩层 + Iframe实现界面自动显示的示例代码
2020/04/26 HTML / CSS
印度尼西亚值得信赖的第一家网店:Bhinneka
2018/07/16 全球购物
EM Cosmetics官网:由彩妆大神Michelle Phan创办的独立品牌
2020/04/27 全球购物
eHarmony英国:全球领先的认真恋爱约会平台之一
2020/11/16 全球购物
JAVA中运算符的分类及举例
2015/09/12 面试题
社团文化节策划书
2014/02/01 职场文书
《一个中国孩子的呼声》教学反思
2014/02/12 职场文书
2015年医德医风工作总结
2015/04/02 职场文书
2015驻村干部工作总结
2015/04/07 职场文书
学校2016年全国助残日活动总结
2016/04/01 职场文书
Go语言中的UTF-8实现
2021/04/26 Golang
uniapp 微信小程序 自定义tabBar 导航
2022/04/22 Javascript