我用ajax一些數據發送到服務器和我收到2個變量,成功和錯誤,這取決於如果郵件發送與否。我如何用ajax聽他們,我如何提醒他們,並且php代碼是否正確?聽PHP的echo與阿賈克斯
PHP代碼:
if ($send){
echo json_encode($success);
} else { echo json_encode($error);
}
我用ajax一些數據發送到服務器和我收到2個變量,成功和錯誤,這取決於如果郵件發送與否。我如何用ajax聽他們,我如何提醒他們,並且php代碼是否正確?聽PHP的echo與阿賈克斯
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);
}
和$ .ajax部分?它看起來如何? – viktor 2012-07-06 15:53:05
我會假設你$send
變量是從mail()
函數的返回值做到這一點,類似這樣的東西:
$headers = 'From: [email protected]';
$send = mail('[email protected]', '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!');
}
}
});
你是對的,$ send是這樣定義的:$ send = @mail($ mailTo,$ subject,$ message,「From:」。$ mailFrom1);但是,當我嘗試解決方案時出現以下錯誤:200 SyntaxError:JSON.parse:意外的數據結束。不過,這封電子郵件是由兩位發件人發送的。 – viktor 2012-07-06 16:09:39
嘗試通過AJAX直接在瀏覽器中導航到頁面。你應該看到的輸出線沿線的東西:'{「成功」:1}'(它也將重新發送電子郵件) – 2012-07-06 16:26:02
你真的失去了我在這裏......那我打電話是一個簡單的腳本到頁面發送也被阻止的電子郵件\t \t event.preventDefault();我只需要獲取false或true變量,以便使用jquery進行一些更改。 – viktor 2012-07-06 16:30:11
沒有人有一個解決方案的工作? – viktor 2012-07-06 16:42:21