我尝试使用PHP验证服务器端的电子邮件。我正在使用jQuery" $。post()"功能。我知道我可以用' $。ajax()'太
但问题是如果服务器端PHP脚本返回一个值,那么jquery post或ajax都无法捕获结果,但如果PHP' echo'结果然后它完美地运作。
我的问题是如何才能捕捉到PHP退回的结果而不是#ECHO'
目前我的JS代码如下所示:
function validate_email(email) {
$.post('106_1.email.php', {email: email}, function (responseData) {
$('#feedback').html(responseData);
});
}
和PHP代码如下所示:
$email = $_POST['email'] ?? null;
if ($email) {
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo '<span class="text-primary">Email is valid.</span>';
} else {
echo '<span class="text-danger">Invalid Email ...!</span>';
}
}
但我真的希望PHP返回如下的布尔值:
$email = $_POST['email'] ?? null;
if ($email) {
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
return true;
} else {
return false;
}
}
但是如果我这样做或者返回除Boolean之外的任何东西,那么jQuery代码也无法捕获它。
但我需要PHP才能返回&#39;结果反而是回声&#39;
任何帮助都将受到高度赞赏。
答案 0 :(得分:0)
试试这个:
腓:
$email = $_POST['email'] ?? null;
if ($email) {
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo true;
} else {
echo false;
}
}
Jquery的:
$.ajax({
url : '106_1.email.php',
data: {
email: email
},
success: function(response){
if(response) // here response = true;
{
// do something
}
else
{
// do something
}
}
});