在看着一个页面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;