jQuery와 PHP 폼을 사용하여 첫 번째 아약스 연락처를 만들었지 만 작동하지 않는 것 같습니다. AJAX 문의 양식에 어떤 문제가 있습니까? (PHP 메일())
내 jQuery 코드 :var dataString = 'address=' + address + '&title=' + title + '&name=' + name + '&mail=' + mail + '&message=' + message;
jQuery.ajax({
type: "POST",
url: "sendmail.php",
data: dataString,
success: function() {
alert(dataString);
jQuery('#ok').html("<h2>Contact Form Submitted!</h2>")
}
});
return false;
코멘트 - 난`는 데이터 문자열을 표시하는 경고를 사용하여 정확히 내 문자열, 추가로이 스크립트가 항상 성공 및 표시 "문의 양식이 제출"을 보여줍니다. 이제
sendmail.php 부분 (내가 뭔가 여기에 잘못 생각) :
// getting variables from form
$emailTo = trim($_POST['address']);
$subject = trim($_POST['title']);;
$name = trim($_POST['name']);
$emailFrom = trim($_POST['mail']);
$message = $_POST['message'];
// prepare email body text
$Body = "You have a message from: ";
$Body .= $name;
$Body .= "\n";
$Body .= "\n";
$Body .= $message;
// send prepared message
$sent = mail($emailTo, $subject, $Body);
//callback for jQuery AJAX
if ($sent){
echo '';
}
else{}
어떤 아이디어가? 나는 내 $ 메시지를 다듬지는 않을 것이라는 것을 알고 있지만, 나는 단지 한 단어의 시험 메일 만 보내고있다.
모든 변수는 HTML 양식에서 가져온 것으로이 방법으로 jQuery 스크립트에 등록됩니다. var address = $ ("# cmail-address"). val(); . 어쨌든 좋은 콜백을 받고 있기 때문에 내 문제와 관련이 없습니다.
그리고 내 서버가 메시지 및 기타 스크립트를 보내도록 허용하는 방식으로 잘 작동합니다.
여기서 첫 번째 행의 변수는 어디서 오는가? –
HTML 폼에서 위에서 언급했듯이 나는 address = something &? title = something & (...)과 같은 문자열로주의를 끌고 있습니다. – fomicz
이것은 문제가 아니지만 {address : address, title : title}과 같은 객체 리터럴을 사용하여 데이터를 나열하는 것이 더 명확 할 수 있습니다. – mveerman