除非开发人员工具打开,否则 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 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Vue.JS:除非我打开开发工具,否则变量不会更新

除非我触发我的连接回调两次,否则使用 strophe attach() 而不是 connect() 不起作用

除非我刷新,否则 jQuery mobile 中的 JavaScript 不起作用

内容编辑器 webpart 脚本不在 IE 11 中运行(如果开发人员工具打开则运行)

除非刷新页面,否则 Jquery Mobile Web 应用程序无法正常工作

除非手动保存,否则无法使用 SSIS 打开 excel 文件