Uncaught RangeError:执行电子邮件验证时超出最大呼叫堆栈大小错误

时间:2018-11-24 12:28:48

标签: javascript php jquery ajax keyup

在PHP中使用AJAX编写有关电子邮件验证的脚本时,结果出现错误:

  

未捕获的RangeError:超出最大调用堆栈大小       在RegExp.test()       在对象。 (jquery.min.js:2)       在Function.each(jquery.min.js:2)       在jt(jquery.min.js:2)       在jt(jquery.min.js:2)       在jt(jquery.min.js:2)       在jt(jquery.min.js:2)       在Function.w.param(jquery.min.js:2)       在Function.ajax(jquery.min.js:2)       在(index):194

我正在尝试的是:

<input type="text" placeholder="Email"  id="Email" oninput="this.className = ''" name="email" required>

$(document).ready(function() {
  var email = document.getElementById("Email");
  $(email).on('keyup input', function() {
    if (email) {
      $.ajax({
        type: 'post',
        url: 'ajax_email_validation.php',
        data: {
          email: email,
        },
        success: function(response) {
          $('#email_status').html(response);
          if (response == "OK") {
            $(':button[type="button"]').prop('disabled', false);
            return true;
          } else {
            $(':button[type="button"]').prop('disabled', true);
            return false;
          }
        }
      });
    } else {
      $('#email_status').html("");
      return false;
    }
  });
});

阅读评论后,我尝试了:

var email = document.getElementById( "Email" );
$(document).ready(function() {
 $(email).on('keyup input', function(){ 

  $.ajax({
  type: 'post',
  url: 'ajax_email_validation.php',
  data: {
   email:email,
  },
  success: function (response) {
   $( '#email_status' ).html(response);
   if(response=="OK")   
   {
    $(':button[type="button"]').prop('disabled', false);
    //return true;  
   }
   else
   {
    $(':button[type="button"]').prop('disabled', true);
    return false;   
   }
  }
  });
});
});
  

我没有收到任何错误,也没有响应消息...

0 个答案:

没有答案