使用AngularJS和AJAX验证数据库的电子邮件地址

时间:2015-12-27 05:38:25

标签: javascript php angularjs ajax html-form

我的表单中有一个<input>标记:

<input type="email" name="Email_i" placeholder="enter email here" id="e_mail" onBlur="loadDoc(this.value)">

输入失去焦点后,调用以下使用AJAX的函数:

<script>
function loadDoc() {
    var no = document.getElementById("e_mail").value;

    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
        if (xhttp.readyState == 4 && xhttp.status == 200) {
            document.getElementById("check").innerHTML = xhttp.responseText;
        }
    };

    xhttp.open("GET", "ajax.php?email="+no, true);
    xhttp.send();
}
</script>

这是来自ajax.php的PHP逻辑:

<?php
session_start();

$email = $_GET['email'];

include "config.php";

$check = mysql_query("select * from registration_form where EMail ='$email' and EMail <> ''",$con);
if (mysql_num_rows($check) == 1)
{
    echo '<p style="color:#ff0000">Email Already Exists</p>';
    $_SESSION['email'] = "yes";
}
else
{
    echo '<p style="color: #00ff00">available</p>';
}

我想使用AngularJS执行此操作,AngularJS验证数据库中的电子邮件地址,但它不起作用。你能救我吗?

1 个答案:

答案 0 :(得分:0)

为什么不直接使用jQuery和Angular?代码会简单得多。另外,请不要使用已弃用的mysql。使用mysqli。代码应该基本上与只有一个&#39; i&#39;添加到你的mysql查询。

 $.get("ajax.php", {email: $("#e_mail").val()}, function(){
    alert("Success!");
});

抱歉,一开始做了一些不小心的错误。我编辑了一切。我希望它适合你。