$("#contact-us-form").submit(function() {
var nameVal = $("input[name=name]").val();
var companyVal = $("input[name=company]").val();
var titleVal = $("input[name=title]").val();
var emailVal = $("input[name=email]").val();
var phoneVal = $("input[name=phone]").val();
var messageVal = $("input[name=message]").val();
alert(nameVal);
alert(emailVal);
$.post("/mailer.php", {
name: nameVal,
company: companyVal,
title: titleVal,
email: emailVal,
phone: phoneVal,
message: messageVal
}, function (data) {
alert("Data Loaded: " + data);
$('#thanks').show();
});
});
mailer.php中,它包含:
<?php
if(isset($_POST['submit'])) {
$to = "[email protected]";
$subject = "Inquiry";
$name = $_POST['name'];
$company = $_POST['company'];
$title = $_POST['title'];
$email = $_POST['email'];
$phone = $_POST['phone'];
$message = $_POST['message'];
$body = <<<HEREDOC
From: $name
Company: $company
Title: $title
E-Mail: $email
Phone: $phone \n
Message: $message
HEREDOC;
mail($to, $subject, $body);
}
?>
我看到name
和email
警報與正確的數據,但數據警報是空的,只是顯示Data Loaded:
,所以我猜測數據沒有正確提交。
我該如何解決?
非常感謝!
當您使用jQuery發佈時,DATA的值將從您的服務器端處理程序mailer.php返回。它返回什麼?你是否設置了一個斷點來查看你發佈的內容?它是否返回任何東西?你使用Firebug/Web Inspector來查看請求/響應的樣子嗎? – 2010-10-20 05:50:38
也許你的PHP腳本有錯誤? – 2010-10-20 05:50:49
您可以安裝Firefox「TamperData」插件,查看瀏覽器發送的內容以及服務器發回的內容。 – Pointy 2010-10-20 05:53:29