ajaxを使用してサーバーにデータを送信すると、メールが送信されたかどうかに応じて、成功とエラーの2つの変数を受け取ります。ajaxでそれらを聞くにはどうすればよいですか?また、それらに警告するにはどうすればよいですか?phpコードは正しいですか?
phpコード:
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!');
}
}
});