weixin_33737774 2013-12-16 18:35 采纳率: 0%
浏览 24

IE8中的Ajax怪异行为

Here's the code I use to ajax more reviews:

function showMoreReviews(str) {
    var counter = Number($('#counter').val());
    var xmlhttp;
    if (str == "") {
        document.getElementById("reviews").innerHTML = "";
        return;
    }
    if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    }
    else {// code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }

    counter = counter + 10;
    $('#counter').attr({ value: counter });

    xmlhttp.onreadystatechange = function () {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            //document.getElementById("reviews").innerHTML = xmlhttp.responseText;
            $("#reviews").append("<div id='rnum" + counter + "'>" + xmlhttp.responseText + "</div>");
            $("#rnum" + counter).hide().fadeIn(800);
        }
    }

    console.log(str);
    console.log(counter);
    xmlhttp.open("GET", "/MoreReviewsAjax.asp?ml=" + str + "&c=" + counter, true);
    xmlhttp.send();
}

It works fine in all browsers except in IE8.. Now here is the weird thing - the code will work if in IE8 I go to dev tools and start debugging for scripts. Otherwise it doesn't work.

PS I am using virtual PC and Windows XP w/ IE8 for IE8 tests.

  • 写回答

1条回答 默认 最新

  • helloxielan 2013-12-16 18:35
    关注

    Your console.log() calls are the problem.

    You can add a cheap "polyfill" to your system:

    if (!('console' in window)) {
      window.console = {
        log: function() {},
        dir: function() {},
        // whatever other console functions you use
      };
    }
    

    Those dummy functions won't do anything, but they'll keep IE from losing it's mind.

    评论

报告相同问题?

悬赏问题

  • ¥15 自制电路图为何无法驱动ESP01S?
  • ¥15 前端加access数据库
  • ¥15 ARCGIS 多值提取到点 ERROR 999999
  • ¥15 mysql异常断电, [MY-011971] [InnoDB]
  • ¥15 uni.onBluetoothDeviceFound熄屏不运行
  • ¥35 关于shodan搜索网络摄像头的各种方法详解
  • ¥15 求PHDA糖尿病并发症数据集,有偿
  • ¥15 为什么AVL fire DVI 界面里面的response Editor project 中的Summary result 点不了
  • ¥20 中标麒麟系统V4.0,linux3.10.0的内核,3A4000处理器,如何安装英伟达或AMD的显卡驱动,
  • ¥20 求文心中文心理分析系统(TextMind)