通过电子邮件提交表单时出现问题
Issue with submitting form as email
我正在尝试通过PHP将表单作为电子邮件提交,但是我通过jQuery中的AJAX函数调用发送数据,因此页面本身不会刷新(简而言之,用户填写表单,然后当他们点击提交时,它将数据设置为变量并通过AJAX调用将其发送到PHP页面, 所有这些都没有重新加载页面),但由于某种原因,电子邮件没有发送,但代码本身似乎可以正常工作?
这是我的代码(只有 AJAX 调用和 php 代码)。
var dataString = 'name=' + name + '&email=' + email + "&subject=" + subject + '&msg=' + msg;
$.ajax ({
type: "POST",
url: "process.php",
data: dataString,
success: function() {
$("#success").show();
$( '#contactUs' ).each(function(){
this.reset();
});
}
});
.PHP
<?php
if(isset($_POST['email'])) {
$email_to = "xxx@someplace.net";
$email_subject = "subject";
$name = $_POST['name']; // required
$email_from = $_POST['email']; // required
$message = $_POST['msg']; // required
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "Name: ".clean_string($name)."'n";
$email_message .= "Email: ".clean_string($email_from)."'n";
$email_message .= "Message: ".clean_string($message)."'n";
// create email headers
$headers = 'From: '.$email_from."'r'n".
'Reply-To: '.$email_from."'r'n" .
'X-Mailer: PHP/' . phpversion();
mail($email_to, $email_subject, $message, $headers);
?>
尝试使用此语法将变量发布为对象
$.ajax ({
type: "POST",
url: "process.php",
dataType: 'json'
data: {
dataString : name,
email : email,
subject :subject,
msg : msg
},
success: function() {
$("#success").show();
$( '#contactUs' ).each(function(){
this.reset();
});
}
});
相关文章:
- JavaScript上的表单和innerHTML问题
- Small Javascript从动态表单中删除多个元素的问题
- 表单未提交问题
- 表单提交问题,如何在我的URL末尾获得ID的值
- 谷歌表单xml有问题
- 将HTML表单发布到iframe会导致浏览器历史记录出现问题
- ASP MVC复选框表单提交问题
- JS表单验证问题
- ajax表单提交的编码问题
- 带有jquery验证问题的php表单
- 在我的Javascript和HTML之间的表单提交按钮链接中遇到问题
- 贝宝表单问题的单选按钮选择
- 从表单javascript返回值时出现问题
- CORS问题,同时提交数据到谷歌表单的角度
- jQuery表单验证和提交问题
- 将数据从HTML表单传递和处理到外部JS时出现问题
- 带有两个提交按钮的提交表单,每个按钮执行不同的操作问题
- 使用jQuery和Ajax表单提交问题
- jQuery表单和Json问题
- Firefox的Javascript问题:表单提交时不更新状态