我是PHP的新手,並試圖學習如何設置一個選項,人們可以通過點擊提交按鈕發送一個emai。但我已經檢查了所有代碼幾次,但無法弄清楚我做錯了什麼。AJAX找不到PHP文件。它返回「POST 405(方法不允許)」
控制檯說:
ajax.js:24 POST http://localhost:8081/send_email.php 405 (Method Not Allowed)
拒絕訪問的語法:ajax.open( 「POST」, 「send_email.php」);;`
Files文件夾結構:
send_email.php
index.html
JS
-ajax.js //
我怎麼能得到這個小小的東西運行。需要你們的幫助才能使這件事情順利進行,你看到我幾乎在那裏。
function _(id) {
return document.getElementById(id);
}
function submitForm() {
_("button").disbaled = true;
_("status").innerHTML = "Please wait...";
var formdata = new FormData();
formdata.append("email", _("email").value);
formdata.append("subject", _("subject").value);
formdata.append("message", _("message").value);
var ajax = new XMLHttpRequest();
ajax.open("POST", "send_email.php"); // parameter: method, url, boolean (optional)
ajax.onreadystatechange = function() {
if(ajax.readyState == 4 && ajax.status == 200) {
if(ajax.responseText == "success") {
_("contact-form").innerHTML = "<h2>Thanks, your email is sent successfully</h2>!";
} else {
_("status").innerHTML = ajax.responseText;
_("mybtn").disabled = false;
}
}
}
ajax.send(formdata);
}
服務器端代碼:
<?php
if (isset($_POST["email"]) && isset($_POST["subject"]) && isset($_POST["message"])) {
$email = $_POST["email"];
$subject = $_POST["subject"];
$message = nl2br($_POST["message"]);
$to = "[email protected]";
$from = $email;
$subject = "Contact From Message";
$message = "<b>Email Address:</b> ".$email. " <br><b>Subject: </b> ".$subject." <br><p> ".$message." </p>";
$headers = "From: $from\n";
$headers = "MIME-version: 1.0\n";
$headers = "Content-type: text/html; charset=iso-8859-1\n";
if (mail($to, $subject, $message, $headers)) {
echo "success";
} else {
echo "The server failed to send the message. Please try again later.";
}
}
?>
<body>
<form id="contact-form" onsubmit="submitForm(); return false;">
<label>
<span class="contact">Your Email</span>
<input id="email" class="contact_input" type="text" name="email" placeholder="[email protected]">
</label>
<label>
<span class="contact">Subject</span>
<input id="subject" class="contact_input contactinfo" type="text" name="message">
</label>
<label>
<span class="contact">Message</span>
<textarea id="message" class="contact_input contactinfo" type="text"></textarea>
</label>
<label>
<input id="button" type="submit" value="SEND">
<span id="status"></span>
</label>
</form>
</body>
在您的控制檯中您的請求使用什麼方法? (網絡標籤) –
你是什麼意思哪種方法 –
'post'或'get' –