该死的JQUERY AJAX函数
var buildActionMenu = function (module){
$('#action-menu').each(function(){
$(this).empty();
var datasource = './appstore/contenter/action-menu/exep-menu.xml' ;
//var datasource = './appstore/contenter/action-menu/ss.xml' ;
$.ajax({
//async : false ,
type: 'GET' ,
url: datasource ,
//dataType : 'html',
dataType : 'xml',
timeout:1000,
// dataFilter : function(data,type){
// //alert(data == null) ;
// //alert(data);nitobi.Debug.log(type);
// return data ;
// } ,
success: function(data){
nitobi.Debug.log('加载数据源: '+this.url);
nitobi.Debug.log($('rss channel item',data).length);
$('/rss//item',data).each(function(){
var title = $('title',this).text();
alert(title);
});
} ,
error: function(){
nitobi.Debug.log('不能加载数据源: '+this.url);
}
});
});
}
JQUERY AJAX函数的深入 , 下午花了两个小时在找错误,怎么Jquery就获得不了XML文件??
这里总结出两点:
1. IE6在本地非服务器环境下不能提供XML文件的查看功能,所以在非服务器环境下不能将
dataType 设置为xml , 但是可以设置成 json和text html之类的格式..
2. 在服务器环境下使用Jquery获取XML时,不仅仅是XML,还有JSON,如果格式有问题,将不返回结果和任何错误提示.. 如果数据正确, 但是采用XPath来查找元素时 XPATH路径写
错了,不会获取任何结果,也不会报任何错误提示...
这里得出一个经验,出问题了最好将
dataFilter : function(data,type){
// //alert(data == null) ;
// //alert(data);nitobi.Debug.log(type);
// return data ;
// } ,
这个函数带入,在里面alert一下,或者加个断点查看一下. 现在看来,非Firebug很难在有东西能够做到加断点查看这点.....
转载请注明原文地址: https://ju.6miu.com/read-1125920.html