【问题标题】:jQuery If statement work only on FirefoxjQuery If 语句仅适用于 Firefox
【发布时间】:2012-01-31 12:27:33
【问题描述】:

我有这样的东西

<?php 
if($target == 'mailAvailability'){
    $email = mysql_real_escape_string($_POST['email']);
    $query = 'SELECT email from users WHERE email = "'. $email . '"';
    $result = mysql_query($query);
    if (mysql_num_rows($result) > 0){
            echo 0;
        } else {
            echo 1;
            }
    }
?>

和jquery中的代码

$.post("downloadData.php",{target: "mailAvailability", email:email},function(dane){
                            if(dane == 0){
                            $('#formError').html("Mail jest zajęty");
                            } else {
                                $('#formError').html(dane);
                            }

                        });

但在这段代码中,if 语句在 chrome 和 IE 中不起作用。在 Firefox 中它可以正常工作。为什么?

【问题讨论】:

  • console log dane 在 IE 和 chrome 中,看看它返回什么?或者使用 json 对象传回我认为更适合这些东西的状态。
  • 怎么不起作用?你期待什么,结果发生了什么?
  • 正如@Lee 所说,当您在JS 中执行console.log(dane) 时会发生什么?
  • 它显示0或1。即使我让parseInt(dane)它仍然不起作用。
  • 肯定没有空格被返回?如果你使用 $.trim(dane) 或者 if(dane.match(/\d+/)[1] == 0) { }

标签: php jquery google-chrome if-statement


【解决方案1】:

您必须为您的帖子选项使用正确的语法:{"target":"mailAvailability","email":"email"}

注意第二个选项电子邮件。 如果是字符串,请按照前面的说明放置。 如果它是一个 javascript 变量,只需输入电子邮件。 如果是 PHP 代码中的 PHP 变量,请使用 "&lt;?php echo $email; ?&gt;"

IE 在它发现的每个错误上都会中断。

希望这对您有所帮助。

【讨论】:

  • 我之前定义了电子邮件: var email = $('#email').val();我照你说的做了,但还是不行:(
  • dane 是“downloadData.php”的输出
猜你喜欢
  • 2018-10-01
  • 1970-01-01
  • 2013-04-11
  • 1970-01-01
  • 1970-01-01
  • 2021-08-26
  • 2023-03-08
  • 2012-12-25
  • 1970-01-01
相关资源
最近更新 更多