在看着一個頁面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;