javascript - 向电子邮件提交表格后,我收到 2 封电子邮件,而不是 1 封

标签 javascript php forms email

将表单提交到电子邮件后,我收到 2 封电子邮件,而不是 1 封,我该如何修复它?我只需要一封信发送到电子邮件

js:

app.controller('threeCtrl',function($scope){
    $("#subBusinessOne").click(function() {
    var url = "businessFormOne.php"; 
    $.ajax({
               type: "POST",
               url: url,
               data: $("form#businessFormOne").serialize(), 
               success: function(data)
               {
                   var name = $("input[name=name]").val("");
                   var rel= $("input[name=phone]").val("");
               }
             });
    return false; // avoid to execute the actual submit of the form.
        });
    });

php:

<?php 
$ToEmail = 'myemail.com'; 
$EmailSubject = 'Охрана бизнес-обьектов'; 
$mailheader = "From: ".$_POST["email"]."\r\n";
$MESSAGE_BODY = "Имя: ".$_POST["name"].""; 
$MESSAGE_BODY .= "Телефон: ".$_POST["phone"].""; 
mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure"); 
?>

最佳答案

我猜#subBusinessOne是一个表单提交按钮。您正在发送 AJAX 请求,然后作为普通 HTTP 请求再次提交表单。

您应该检查表单是否已提交,然后阻止默认操作并发送 AJAX 请求,而不是检测按钮单击事件。你的 JS 代码将如下所示:

app.controller('threeCtrl',function($scope){
    $("#businessFormOne").submit(function(e) {

    e.preventDefault(); // this is to avoid the actual submit

    var url = "businessFormOne.php"; 
    $.ajax({
               type: "POST",
               url: url,
               data: $("form#businessFormOne").serialize(), 
               success: function(data)
               {
                   var name = $("input[name=name]").val("");
                   var rel= $("input[name=phone]").val("");
               }
             });
        });
    });

关于javascript - 向电子邮件提交表格后,我收到 2 封电子邮件,而不是 1 封,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38915642/

相关文章:

php - Optgroups 在 1 项之后关闭。动态列表

php - #CodeIgniter 将多个复选框中的每个 "checked"复选框值发送到数据库?

java - 根据 Struts2 操作中调用的操作方法定义不同的验证

javascript - 基于key的流对象值

Javascript CSS 时代

javascript - 确定 Node.js 应用程序中的请求是否为本地请求

javascript - 正则表达式: transferring the data attribute

javascript - FlipClock - 使用服务器时间而不是客户端时间

php - Laravel 生成用户数据

android - 如何从 Android 将 Http 发布到 Django 服务器?