我在使用 ajax 和 php 时遇到问题。我想做的是调用一个 ajax 函数,该函数从表单的输入中获取一个值,并检查该电子邮件是否存在于数据库中。这是我当前的 JavaScript:
//Checks for Existing Email
function checkExisting_email() {
$.ajax({
type: 'POST',
url: 'checkExist.php',
data: input
});
emailExists = checkExisting_email();
//If it exists
if (emailExists) {
alert("This email already exists!");
}
不幸的是,我无法让警报响起。在我的 PHP 函数中,它检查输入是用户名还是电子邮件(仅出于我的目的,所以你知道),然后在任一列中查找它。如果找到,则返回 true,如果没有,则返回 false:
include ('func_lib.php');
connect();
check($_POST['input']);
function check($args)
{
$checkemail = "/^[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z]{2,}$/i";
if (!preg_match($checkemail, $args)) {
//logic for username argument
$sql = "SELECT * FROM `users` WHERE `username`='" . $args . "'";
$res = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($res) > 0) {
return true;
} else {
return false;
}
} else {
//logic for email argument
$sql = "SELECT * FROM `users` WHERE `email`='" . $args . "'";
$res = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($res) > 0) {
return true;
} else {
return false;
}
}
}
所以我的问题是,ajax 如何响应这些返回,以及如何使 ajax 相应地发挥作用?主要是,为什么这不起作用?
很感谢任何形式的帮助。谢谢你!
您需要添加success
Ajax 请求的选项,这是 XHR 成功时执行的 JS 函数。看看jQuery 文档了解更多信息。
如果不运行脚本,我想你会发现$_POST['input']
是空的;你需要将你的数据传递为类似的东西data: {'input': input}
要做到这一点。
你的 PHP 还需要向脚本返回一些内容;考虑将您的通话更改为check()
像这样的事情:
echo (check($_POST) ? 'true' : 'false');
您现在可以检查 JavaScript 中的内容。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)