除非开发人员工具打开,否则 jQuery $.post() 函数在 IE 中不起作用

Posted

技术标签:

【中文标题】除非开发人员工具打开,否则 jQuery $.post() 函数在 IE 中不起作用【英文标题】:jQuery $.post() function not working in IE unless developer tools is open 【发布时间】:2011-12-13 07:40:36 【问题描述】:

jQuery $.post() 函数在 IE 中不起作用。我试图打开开发者工具来查看是否出现控制台错误,但奇迹般地该功能开始工作了。

这只是一个标准的 $.post() 函数

$.post('child_cb.php?type=check',  value: $(this).val() , function(data) 
                        console.log(data);
                        if (data == 'true') 
                            $(".check_case").removeClass('bad').addClass('good');
                        
                        else if (data == 'false') 
                            $(".check_case").removeClass('good').addClass('bad');
                        
                    );

我看不出它为什么不起作用。

【问题讨论】:

您确定没有开发人员工具就无法工作吗?我不会真的相信任何IE。如果您想验证 AJAX 调用,最好坚持使用 Fiddler。它会告诉你到底发生了什么。 那么,错误/症状是什么? -1 表示“它不工作”。 为什么投反对票?说真的…… 反对选民:真的!?!?这是一个很好的问题,如果你不知道记录器发生了什么,它可以被问到。 这完全解决了我的问题。 +1 【参考方案1】:

删除/注释掉console.log(data),IE 无法处理,删除后应该可以正常工作。最近自己也遇到过这个问题。

【讨论】:

天啊,经过数小时的搜索……你救了我。 +1【参考方案2】:

您应该养成使用它进行调试的习惯,这样您就不会忘记 console.log :

if(!('console' in window) || ( ('console' in window) && !('log' in console) ))  
    window.console =   
        log:function(e)  
            alert("You are using console log without the console!")  
          
      

您可以删除警报,但如果您想收到忘记某些内容的通知,也可以。 :)

【讨论】:

以上是关于除非开发人员工具打开,否则 jQuery $.post() 函数在 IE 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章