jquery的$.ajax在IE7下的不兼容性问题~

做了一段$.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+" &nbsp";
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+" &nbsp";

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]
试试,,,

应该可以解决这个问题