Firefox 上未显示 Javascript 警报框

Posted

技术标签:

【中文标题】Firefox 上未显示 Javascript 警报框【英文标题】:Javascript Alert box not displaying on Firefox 【发布时间】:2010-02-11 08:18:42 【问题描述】:

好的, 所以我有这个脚本,它适用于 IE,但不适用于 Firefox。所以我想知道是否有人遇到过这个问题,也许有解决方案。

$.ajax( 
        type    : "POST",
        url     : "../php/insertUser.php",
        data    : dataString,
        success : function(msg, status)
        
            var reply = parseInt(msg);
            if(reply==1)
            
                alert('Email address already exists in our members database.\n'+
                       'Please try another   address and then submit it again!');
            
            else if(reply==2)
             
            
            else if(reply==0)
            
                $('#pForm').hide('fast');
                $('#accForm').show('slow');
            
       
  );      

因此,警报在 IE 上运行良好,但我无法让它们在 Firefox(3.6 或更早版本)上运行。关于为什么会发生这种情况的任何想法?

编辑:感谢 TJ 将我介绍给 Firebug,现在我发现警报不是问题所在。问题在于 Firefox 没有读取“success:”子句。有什么想法吗?

【问题讨论】:

您可能希望使用空格/制表符对其进行格式化,以便我们阅读 如果'不阅读“成功:”子句'意味着你在'var reply'行设置了一个断点并且它没有被命中,你应该进入$ .ajax函数并检查为什么 jQuery 认为请求不成功。或者您可以将实时 URL 发布到 php 脚本,然后有人可能会为您进行调试。在没有任何信息的情况下试图猜测是很困难的。 【参考方案1】:

就人们所见,警报没有任何问题(一旦我重新格式化代码以使其可读!;-))。我的建议是获取Firebug 并单步执行代码,看看哪里出了问题。例如,您没有看到警报的最可能原因是 Ajax 调用失败,或者您从未通过解析 msg 获得 reply = 1

【讨论】:

让我烦恼的是,它在 IE 上运行良好。这告诉我 Ajax 正在解析“msg”。 感谢 Firebug,现在我看到 FF 完全跳过了“成功”子句。有什么想法吗? @Uran:是的,这意味着结果在一个与另一个之间是不同的。使用 Firebug 浏览它可能会帮助您弄清楚为什么会出现这种情况。 :-) 浏览器之间存在足够的差异,以至于这种事情一直出现。祝你好运。

以上是关于Firefox 上未显示 Javascript 警报框的主要内容,如果未能解决你的问题,请参考以下文章

GreaseMonkey - Firefox Web 控制台未显示所有 javascript 错误

为啥 javascript 对象在 Chrome、Firefox、Safari 的控制台中显示不同的值? [复制]

在 iOS 上未选择文件时,JavaScript 使用 FormData 和 jQuery 的 ajax 上传文件返回错误 500

Javascript 不会在 Firefox geoip_city() 中显示

Chrome 上未显示箭头

GIF 在 JDialog 上未正确显示