Javascript 如何在AJAX中使用返回值(来自服务器脚本)
我正在尝试使用PHP在服务器端验证电子邮件。我使用jQuery“$.post()”函数来完成这项工作。我知道我也可以用“$.ajax()”来完成 但问题是,如果服务器端PHP脚本返回一个值,那么jQueryPost或ajax都无法捕获结果,但是如果PHP“回显”结果,那么它就可以完美地工作 我的问题是如何捕捉PHP“返回”的结果,而不是“ECHO”的结果 目前我的JS代码如下所示:Javascript 如何在AJAX中使用返回值(来自服务器脚本),javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我正在尝试使用PHP在服务器端验证电子邮件。我使用jQuery“$.post()”函数来完成这项工作。我知道我也可以用“$.ajax()”来完成 但问题是,如果服务器端PHP脚本返回一个值,那么jQueryPost或ajax都无法捕获结果,但是如果PHP“回显”结果,那么它就可以完美地工作 我的问题是如何捕捉PHP“返回”的结果,而不是“ECHO”的结果 目前我的JS代码如下所示: function validate_email(email) { $.post('106_1.email
function validate_email(email) {
$.post('106_1.email.php', {email: email}, function (responseData) {
$('#feedback').html(responseData);
});
}
$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代码如下所示:
function validate_email(email) {
$.post('106_1.email.php', {email: email}, function (responseData) {
$('#feedback').html(responseData);
});
}
$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>';
}
}
但如果我这样做或返回布尔值以外的任何值,jQuery代码也无法捕捉到这一点
但是我需要PHP“返回”结果,而不是“echo”
任何帮助都将不胜感激。试试以下方法:
Php:
Jquery:
$.ajax({
url : '106_1.email.php',
data: {
email: email
},
success: function(response){
if(response) // here response = true;
{
// do something
}
else
{
// do something
}
}
});
非常好的解决办法,但我真的需要PHP代码返回,而不是做回声在所有。。。因为对于更复杂的任务,我需要返回。。。