所以我試圖做一個聯繫表單的按鈕,而不是提交按鈕,單擊時運行一個函數onClick = 'send()'
和本地主機W/WAMP它完美髮送電子郵件的內容。在現場版本上,連接很好,我收到了電子郵件,但是我沒有獲得相應的表單字段數據,即使它與在WAMP服務器上測試時使用的代碼相同。另外,在php文件的頂部,我回顯了POST數據,並在本地主機上顯示了這些信息,但是在實況上,它又沒有。爲什麼PHP不檢索AJAX發送的數據?
- 我也試過
.val()
而不是.serialize()
如下所示,但沒有運氣。 - 我也做
data: {name:name, email:email...}
以及data{'name':name, 'email':email...}
任何幫助,將不勝感激!
繼承人的AJAX:
function send(){
var name = $("input[name=name]").serialize();
var email = $("input[name=email]").serialize();
var textarea = $("textarea").serialize();
var business = $("input[name=business]").serialize();
var website = $("input[name=website]").serialize();
alert(name);
alert(email);
alert(textarea);
alert(business);
alert(website);
$.ajax({
url: 'sendmail.php',
type: 'POST',
data: {name, email, textarea, business, website},
success: function(mydata) {
alert(mydata);
}
});
}
和繼承人的PHP:
<?php
echo($_POST['name']);
// does show as output on localhost w/wamp but on live website its mute
$message=
'Full Name: '.$_POST['name'].'<br />
Email: '.$_POST['email'].'<br />
Message: '.$_POST['textarea'].'<br />
Current Website: '.$_POST['website'].'<br />
Business Name: '.$_POST['business'].'<br />
';
/* Email Sending Script */
if (!$mail->send()) {
echo $mail->ErrorInfo;
} else {
die("true");
}
?>
網絡TABS
請求報頭: http://prntscr.com/ck0btg
發表數據: http://prntscr.com/ck0cni
你檢查了網絡,它有任何錯誤? – Beginner
在成功函數下,添加一個'error:'函數,與'success:'相同。這是否輸出任何東西? – Howzieky
如果你的JS沒有運行在同一臺服務器上,你需要添加'http:// localhost/xx.php' – James111