iteye_18713
2010-03-28 22:42 阅读 415

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]

不明白到底为啥了....

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

5条回答 默认 最新

  • 已采纳
    wanghaolovezlq wanghaolovezlq 2010-03-29 10:07

    用调度工具调试一下看,到哪步出问题了

    点赞 评论 复制链接分享
  • suziwen suziwen 2010-03-28 23:00

    jquery的AJAX应该是浏览器 兼容 的了,虽不能兼容所有的浏览器,但主流的应该都兼容了,像IE6,7,8,CHROME,FIREFOX等。
    是不是你的那个代码 有问题?

    JAVASCRIPT有报什么错吗

    点赞 评论 复制链接分享
  • wanghaolovezlq wanghaolovezlq 2010-03-29 11:11

    ie7下难道调不到后台吗?

    不可能的

    点赞 评论 复制链接分享
  • wanghaolovezlq wanghaolovezlq 2010-03-29 11:16

    我建议把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
    });

    点赞 评论 复制链接分享
  • CaiHuajiang CaiHuajiang 2010-03-29 13:39

    这是jquery自身解析的问题。你可以将返回的文本改为
    [code="xml"]

    ...


    [/code]试试。

    并且可以将返回值处理部分改为
    value这个值获取没问题..
    [code="js"]$.ajax({
    url:"audience.xml",
    cache:false,
    success:function(xml){...
    $(""+xml+"").find("class[value='"+value+"']").each(function(){...
    });...
    }
    });
    [/code]
    试试,,,

    应该可以解决这个问题

    点赞 评论 复制链接分享

相关推荐