ajax don't work in IE8

ในเว็บผมเรียกใช้ ajax อยู่สามที่

มาอยู่ที่เดียว อีกสองที่ไม่เห็นเนื้อความใดๆ

ทั้งๆ ที่ใช้ โค้ดตัวเดียวกัน เปลี่ยนแค่ชื่อของdiv

ใช้ f12 debug ก็ไม่ฟ้องอะไร แค่ไม่มาเท่านั้นเอง

แต่ถ้าเล่นใน ไออีหก กลับปกติดี

แต่เล่นในไออีแปดไม่ได้

เที่ยวค้นหาดูในเว็บนี้ ก็ไม่เจอปัญหานี้

ลองดูตัวอย่างโค้ดที่ใช้ ajax

var req;

function Inint_AJAX() {

     try { return new ActiveXObject("Msxml2.XMLHTTP");    } catch(e) {}

     try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {}

     try { return new XMLHttpRequest();                   } catch(e) {}

     alert("XMLHttpRequest not supported");

     return null;

}

 

function reLoad_recent_post() { //auto update

  

     var url = "mymod/recent_post.php";    //1

     var req=Inint_AJAX();

     req.onreadystatechange = function () {

          if (req.readyState==4) {

               if (req.status==200) {

                    var obj = document.getElementById("recent_post")    //2

                    obj.style.backgroundImage  = "url()" // image for loading

                    obj.style.height = '100%' //adjust height  to fit content

                    obj.innerHTML = req.responseText

                     setTimeout("reLoad_recent_post()", 30000); //3

               }

          }

     };

     req.open("GET", url, true);

     req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 

     req.send(null);

}

 

function reLoad_sticky_post() { //auto update

  

     var url = "mymod/sticky_post.php";    //1

     var req=Inint_AJAX();

     req.onreadystatechange = function () {

          if (req.readyState==4) {

               if (req.status==200) {

                    var obj = document.getElementById("sticky_post")    //2

                    obj.style.backgroundImage  = "url()" // image for loading

                    obj.style.height = '100%' //adjust height  to fit content

                    obj.innerHTML = req.responseText

                     setTimeout("reLoad_sticky_post()", 30000); //3

               }

          }

     };

     req.open("GET", url, true);

     req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 

     req.send(null);

}

 

อันแรกไม่มา อันที่สองมาปกติดีในไออีแปด

แต่ถ้าเล่นในไฟฟ็อกซ์ โครม ไม่เป็นเลยครับ

ช่วยด้วยครับ หามาหลายวันแล้ว จนด้วยเกล้า

29 เม.ย. 2552 8 2,012

เพิ่มเติม
ลองถอดไออีแปด ใช้ไออีเจ็ด
ก็กลับมาเป็นปกติเลย
ปัญหาน่าจะอยู่ที่ไออีแปดแล้วล่ะครับ
แต่ไม่รู้ว่าจะแก้ยังไง
#1

ลองจำลอง IE8 ให้เป็น IE7 ครับ หรือ อาจจะใส่

 <meta http-equiv="X-UA-Compatible" content="IE=7" /> 
 ลงใน head ดูครับ (HTML) ถ้าไม่เข้าใจลอง view source เว็บผมดูครับ 
#2

ขอบคุณครับ
ลองใส่ meta...
อย่างที่แนะนำแล้วครับ...
แต่ไม่เวอร์กครับ
#3

มีอีกทีก็ลองเปลี่ยนจาก GET เป็น POST

ตรวจสอบตัวแปรต่างๆ ให้ตรงตามขนาดตัวอักษร

กรณีอื่นๆก็ไม่รู้แล้วครับ นอกจากจะเห็นหน้่าเว็บ
#4

เปลี่ยนเป็น POST แล้วก็ยังเหมือนเดิมครับ
ส่วนตัวแปร อ่านแล้วอ่านอีก ไม่ผิดครับ
รูปจะแคปเจอร์มาให้ดูเปรียบเทียบกันอีกที
#5

มั่วไปมั่วมา ไปโหลดไออีเทสเตอร์มาใช้
แล้วลองวาลิเดท html ดู เหตุว่าสคริปไม่ผิดเลย
มันฟ้องว่า ไฟล์ไม่มี การประกาศ idoctype
ซึ่งจริงๆมันมี แต่อยู่ที่อีกไฟล์นึงซึ่งเป็นตัว header
ของทุกเพจ ส่วนไฟล์ที่ผมใช้อแจ้ก เป็นตัวบอดี้
ก็เลยใส่ซ้ำเข้าไปอีกที เป็นปกติครับ
#6

เพิ่งเคยเจอนะ case นี้

แต่ปกติผมออกแบบตามหลัก XHTML อยู่แล้วก็เลยไม่เคยเจอ Error ประหลาดๆ
#7

เพิ่มเติม
ไปเจอบทความในหนังสือเรื่อง รวมเด็ดเคล็ดลับ 101 tips...css
บทที่ 7 หัวข้อ การเลือกโหมดการแสดงผลด้วย doctype
คืออะไร และจะ...
ถึงบางอ้อเลย จริงๆ ด้วย
#8
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^