[英]Ajax not posting form data
我最近問了一個有關在不重新加載頁面的情況下執行“發送郵件”腳本的問題,並弄清了我的AJAX存在的問題,這些都已解決。 我現在有以下問題:
當我的表單發布到我的AJAX時,腳本被執行,但是發布數據似乎沒有傳遞到PHP腳本。
我的問題的鏈接是: Contact Form同頁成功 。
<?php
$name = ($_POST['name']);
$email = ($_POST['email']);
$fsubject = ($_POST['subject']);
$message = ("Name: ". $name . "\nEmail Address: " . $email . "\n\nMessage: " . $_POST['message']);
// Set Mail
$to = "emailaddress@fakeone.com";
$header = 'From: contactus@fakeone.com' . "\r\n" .
'Reply-To: website@fakeone.com';
$subject = "{$fsubject}";
$body = "{$message}";
// Send Mail
if (mail($to, $subject, $body, $header))
{
echo("<p>Message successfully sent!</p>");
}
else
{
echo("<p>Message delivery failed...</p>");
}
?>
<div id="success" style="color:red;"></div>
<form action="" id="contactform" method="post">
<div class="row">
<div class="form-group">
<div class="col-md-6">
<label>Your name *</label>
<input type="text" value="" data-msg-required="Please enter your name." maxlength="100" class="form-control" name="name" id="name">
</div>
<div class="col-md-6">
<label>Your email address *</label>
<input type="email" value="" data-msg-required="Please enter your email address." data-msg-email="Please enter a valid email address." maxlength="100" class="form-control" name="email" id="email">
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<div class="col-md-12">
<label>Subject</label>
<input type="text" value="" data-msg-required="Please enter the subject." maxlength="100" class="form-control" name="subject" id="subject">
</div>
</div>
</div>
<div class="row">
<div class="form-group">
<div class="col-md-12">
<label>Message *</label>
<textarea maxlength="5000" data-msg-required="Please enter your message." rows="10" class="form-control" name="message" id="message"></textarea>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<input type="submit" id="submit" value="Send Message" class="btn btn-info btn-lg" data-loading-text="Loading...">
</div>
</form>
<script>
$(document).ready(function () {
$('#submit').click(function () {
$.post("sendmail.php", $("#contactform").serialize(), function (response) {
$('#success').html(response);
});
return false;
});
});
</script>
當我填寫表格時,什么也沒有回來,它發送空的電子郵件。
任何想法,為什么帖子不工作對此將不勝感激。 如果我通過發布其他問題違反任何規則,請告訴我!
問候,丹
我認為問題出在您的PHP代碼中。 您有一個名為$ headers的變量,但是在您的郵件函數中,您正在使用$ header 。 錯字了。
更改以下幾行-
$subject = "{$fsubject}";
$body = "{$message}";
為此-
$subject = $fsubject;
$body = $message;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.