在IE9中无法在dom上启动ajax

时间:2013-02-11 22:01:05

标签: javascript ajax jquery

我有一些应该在dom上执行的代码,没有任何点击或任何其他操作。下面是代码:

if($.browser.msie){
        console.log("Using getJSON");
        $.getJSON(baseUrl,function(){
         alert('hi');
        });
    }else{
        setTimeout(function(){
            $.get(baseUrl, function(data){
                var boardNames = data;
                for (i = 0; i < boardNames.length; i++) {
                    $('.boardSelectmulti').append('<option value="' + boardNames[i].Board + '">' + boardNames[i].Text + '</option>');
                }
                console.log("done");
                $("#boardLinksi").hide();
                $(".boardSelectmulti").val(form_data.showmode);
                $(".boardSelectmulti").show();
            }, "json"); 
        },5000);
    }
  }

在其他浏览器中工作正常,但在IE中它永远不会触发。我甚至尝试了一个getJson调用仍然没有运气。任何想法为什么会发生这种情况?

提前致谢

2 个答案:

答案 0 :(得分:1)

下载Free here的AJAX版。查看IE的时间线视图,然后查看FF,您可以轻松找到页面加载期间的差异以及导致问题的原因。

答案 1 :(得分:0)

IE控制台(按F12)打开时是否有效?如果这样,并且DroidOS指出在IE中控制台对象是未定义的,直到开发者控制台至少打开一次(另请参阅my question here)。

在脚本之上添加这个小代码:

    <!--[if IE]>
    <script type="text/javascript">
        var console = console || {
        log: function() {},
        warn: function() {},
        error: function() {}
    };
    </script>
    <![endif]-->

确保在包含JS文件之前提供此信息。