Fork me on GitHub

浏览器兼容——jquery的html()不兼容IE

    在看着一个页面A,是一个弹出框,用的jquery中的ajax,然后弹出的内容是另一个Div的。而所出现的问题,是在浏览器中都有弹出框,但是只有谷歌和火狐中的弹出框中内容。

    当时,我所想到的是另一个问题引起的,就是ajax不兼容IE,所以方向完全错了。

   

   jQuery.ajax({
           type:"get",
          // contentType: "application/json", 
           url:"awardlist.do?timeStamp="+new Date().getTime(),
           cache:false,  
           data:jQuery.param(obj,true),
           dataType: 'String',
               success:function(ret,txt){
                 $("<div class='loadmask'></div>").appendTo('body');
                 $("#award_div_box").removeClass('none').html(ret); 
               }, 
           error: function(xhr, textStatus, errorThrown) {
        alert("错误开始");
               alert(xhr);
               alert(textStatus);
               alert(errorThrown);
           }
})

后来经过调试当中,我用ajax的contentType: "application/json"和 dataType: 'json'。
然后就会事件就进入error,然后接下来就是弹出parseerror,相信大家都明白为什么,也一并将json数据弹出了,这样也就说明不是ajax的兼容性。

一步一步,就到success:function中,我使用 alert(txt);alert(ret);证明也进来了,txt和ret的数据也有,那就是最后一句代码有问题,

 

$("#award_div_box").removeClass('none').html(ret); 

 

问题出现了、就是因为jquery中的html()不兼容IE.

因而,采用原生的js代替它。

 

document.getElementById("award_div_box").className = "award_box";
document.getElementById("award_div_box").innerHTML = ret;

 


 

 

posted on 2014-02-12 10:17  雨为我停  阅读(4243)  评论(0编辑  收藏  举报