我不明白爲什麼以下不工作,我想調用一個PHP腳本來發送電子郵件,但我不認爲我的ajax調用是根本調用PHP腳本,我只是返回一個錯誤。AJAX後調用PHP腳本不工作
我的Ajax調用:
var name_field = $('#cf_name').val();
$.ajax({
type: 'post',
url: 'contact.php',
data: {'name_field' : name_field },
dataType: 'json',
success: function(data) {
if(data.status == 'success')
alert("Thank you for subscribing!");
else if(data.status == 'error')
alert("Error on query!");
},
error: function(err) {
alert(err.responseText);
}
});
我的PHP腳本:
$field_name = isset($_POST['name_field']);
$field_email = '[email protected]';
$field_phone = '12345';
$field_message = 'Hello World!';
$mail_to = '[email protected]';
$subject = 'Message from a website visitor '.$field_name;
$body_message = 'This message has been sent via website:'."\n\n";
$body_message .= 'From: '.$field_name."\n\n";
$body_message .= 'E-mail: '.$field_email."\n\n";
$body_message .= 'Phone Number: '.$field_phone."\n\n";
$body_message .= 'Message: '.$field_message;
$headers = 'From: '.$field_email."\r\n";
$headers .= 'Reply-To: '.$field_email."\r\n";
$mail_status = mail($mail_to, $subject, $body_message, $headers);
if ($mail_status) {
$response_array['status'] = 'success';
}
else {
$response_array['status'] = 'error';
}
header('Content-type: application/json');
echo json_encode($response_array);
如果我瀏覽到的URL直接在PHP按預期工作,但我不能讓AJAX後調用它。
當你嘗試ajax會發生什麼?你有沒有去過阿賈克斯線?你到達成功的功能嗎?你是否有錯誤功能? –
使用devtools查看網絡選項卡(firebug/fox/chrome)中ajax請求的狀態,並查看是否幫助或粘貼結果到您的問題中,同時嘗試使用絕對URL,如果您獲得了404網址是不正確的。 – Allende
我絕對打到ajax調用的錯誤響應。儘管err.responseText爲空。 – LolBB