做了一段$.ajax,在IE8 和 Firefox下均可正常运行,可在IE6和IE7下都不行...
经网上一阵搜索..均说是
[code="java"]
xhr:function(){
return l.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest()
}
[/code]
这个地方的问题..
经网上一阵更改..也没解决问题...希望JAVAEYE的朋友们帮忙给点建议~~
我的AJAX代码如下:
[code="java"]
value这个值获取没问题..
$.ajax({
url:"audience.xml",
cache:false,
success:function(xml){
var list="";
var stringlength=0;
$(xml).find("class[value='"+value+"']").each(function(){
$(this).find("item").each(function(){
var value=$(this).find("value").text();
var key=$(this).find("key").text();
stringlength+=value.length+1;
value=""+value+"  ";
list+=value;
});
});
nTop=Math.floor(stringlength/23);
top=top-nTop*18+"px";
$('#tip').attr("style","left:"+left+";top:"+top+";display:block");
$('#tipContent').html(list);
}
});
[/code]
xml数据:
[code="java"]
A01
0~2岁
A02
2~6岁
B01
小学一年级
B02
小学二年级
[/code]
不明白到底为啥了....
用调度工具调试一下看,到哪步出问题了
jquery的AJAX应该是浏览器 兼容 的了,虽不能兼容所有的浏览器,但主流的应该都兼容了,像IE6,7,8,CHROME,FIREFOX等。
是不是你的那个代码 有问题?
JAVASCRIPT有报什么错吗
ie7下难道调不到后台吗?
不可能的
我建议把success方法提取到外面定义一下
var successProcess = function(xml){
var list="";
var stringlength=0;
$(xml).find("class[value='"+value+"']").each(function(){
$(this).find("item").each(function(){
var value=$(this).find("value").text();
var key=$(this).find("key").text();
stringlength+=value.length+1;
value=""+value+"  ";
list+=value;
});
});
nTop=Math.floor(stringlength/23);
top=top-nTop*18+"px";
$('#tip').attr("style","left:"+left+";top:"+top+";display:block");
$('#tipContent').html(list);
} ;
value这个值获取没问题..
$.ajax({
url:"audience.xml",
cache:false,
success:successProcess
});
这是jquery自身解析的问题。你可以将返回的文本改为
[code="xml"]
...
[/code]试试。
并且可以将返回值处理部分改为
value这个值获取没问题..
[code="js"]$.ajax({
url:"audience.xml",
cache:false,
success:function(xml){...
$(""+xml+"").find("class[value='"+value+"']").each(function(){...
});...
}
});
[/code]
试试,,,
应该可以解决这个问题