2016-08-12 2 views
-1

이메일에 양식을 제출 한 후 2 자루의 이메일을받습니다. 1 어떻게 해결할 수 있습니까?이메일에 양식을 제출 한 후 대신 2 자루의 이메일을받습니다. 1

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"); 
?> 
+0

'event.preventDefault()'https://api.jquery.com/event.preventdefault/ –

답변

1

내가 #subBusinessOne 양식 버튼을 제출하는 것을 생각 난 단지 한 문자가

JS 이메일을 보내 온 것을해야합니다. 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(""); 
       } 
      }); 
     }); 
    }); 
0
app.controller('threeCtrl',function($scope){ 
    $("#subBusinessOne").submit(function(e) { 
    e.preventDefault(); 
    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(""); 
       } 
      }); 
     }); 
    }); 
0

사용 .preventDefault()

app.controller('threeCtrl',function($scope){ 
     $("#subBusinessOne").click(function(e) { 
     e.preventDefault(); 
     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. 
      }); 
     }); 
0

을 당신이 교차 AJAX 요청을 만들려고 생각하고있어 왜 이유 2 이메일 대신 1
첫번째 때문에 메소드 OPTIONS (다른 도메인에서 요청을 보낼 수 있는지 확인) 및 메소드 POST로 두 번째 요청

+0

어떻게 해결할 수 있습니까? 그것? 항상 잘 작동하지만 처음에는 angularRouting을 사용합니다. 모양이 어떻게 각형으로 작동하는지 이해할 수 없으므로 문제가 있다고 생각합니다. –

+0

http://stackoverflow.com/questions/22968406/how-to-skip-the -options-preflight-request-in-anglesjs – mishanon

관련 문제