0

我打算使用 AJAX 来触发一个 java servlet 方法,该方法检查电子邮件是否已经在我们的系统中。然后当这完成时,如果电子邮件不在我们的系统中,它将显示一个覆盖以允许用户接受 T&C,如果它已经在系统中,它将提示他们否则。作为 AJAX 的新手,虽然我对这些完成/失败/总是如何工作感到困惑。如何触发此 emailvalidation 方法,然后如何定义它是否成功?

4

1 回答 1

0

您需要以下代码来使用 AJAX 验证电子邮件:

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">                                                          
function emailCheck(){
var email = document.getElementById('email').value;
var xmlhttp=new XMLHttpRequest();
var params = "email="+email;
xmlhttp.open("POST","emailcheck.jsp",true);
xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", params.length);
xmlhttp.setRequestHeader("Connection", "close");

xmlhttp.onreadystatechange=function()
  {
  if(xmlhttp.readyState==4 && xmlhttp.status==200)
    {
     if(xmlhttp.responseText == '0'){
         document.getElementById('msg').innerHTML='Email already exists.';
     }
     else{
         document.getElementById('msg').innerHTML='Email valid.';
     document.getElementById('tnc').style.display='block';
     }
    }
  }
xmlhttp.send(params);
}
</script>
</head>
<body>
<form>
Email: <input type="email" name="email" id="email" onblur="emailCheck()" required><div id="msg"></div>
<br>
<div id="tnc" style="display: none;">
<!-- T&C here -->
</div>
</form>
</body>
</html>

onblur事件将调用emailCheck()函数,该函数包含执行所需任务的 AJAX 代码。另请注意,电子邮件是使用 POST 方法发送的。0如果电子邮件已经存在,您的 emailcheck.jsp 应该简单地输出(或打印) 。

于 2013-11-06T15:57:22.973 回答