使用ajax收听php回声
我使用ajax向服务器发送一些数据,收到两个变量,success和error,这取决于邮件是否发送。如何使用ajax听取他们的意见,如何提醒他们,php代码是否正确 php代码:使用ajax收听php回声,php,jquery,ajax,Php,Jquery,Ajax,我使用ajax向服务器发送一些数据,收到两个变量,success和error,这取决于邮件是否发送。如何使用ajax听取他们的意见,如何提醒他们,php代码是否正确 php代码: if ($send){ echo json_encode($success); } else { echo json_encode($error); } 你可以这样做 $result["error"] = false; if($send) { $result["data"] = $succe
if ($send){
echo json_encode($success);
} else { echo json_encode($error);
}
你可以这样做
$result["error"] = false;
if($send) {
$result["data"] = $success
echo json_encode($result);
} else {
$result["error"] = true;
echo json_encode($result);
}
我假设您的
$send
变量是mail()
函数的返回值,类似如下:
$headers = 'From: from@from.com';
$send = mail('test@test.com', 'Subject', 'Message', $headers);
echo json_encode(array( 'success' => ($send ? 1 : 0)));
您可以使用jQuery通过AJAX调用它,方法如下:
$.ajax({
url: '/path/to/script.php',
success: function( json ) {
var obj = JSON.parse( json );
if(obj['success'] == 1) {
alert('Success!');
} else {
alert('Fail!');
}
}
});
美元.ajax部分呢?看起来怎么样?你是对的,$send的定义如下:$send=@mail($mailTo,$subject,$message,“From:”.$mailFrom1);但是,当我尝试您的解决方案时,会出现以下错误:200 SyntaxError:JSON.parse:意外的数据结束。尽管如此,电子邮件还是由两个发件人发送。请尝试直接在浏览器中导航到通过AJAX调用的页面。您应该看到的输出内容大致如下:
{“success”:1}
(它还将重新发送电子邮件)您在这里真的失去了我…我调用的页面是发送电子邮件的简单脚本,该脚本也被event.preventDefault()阻止;我只需要获取false或true变量,这样我就可以使用jquery进行一些更改。我知道你现在在说什么,但是帖子没有像你想象的那样重定向,因为它被jquery阻止了。我的意思是,导航到你在AJAX调用的URL
属性中指定的URL(上面是http://www.server.com/path/to/script.php
)并告诉我它的输出。它应该是这样的:{“success”:1}
没有人有一个有效的解决方案吗?