>

DotMailer를 통해 뉴스 레터 가입을하고 있는데 전자 메일 주소와 지역을 DotMailer에 추가 할 수 있었지만 결국 성공/잘못된 메시지를 반환하려고하면 유효하지 않습니다. 성공적으로 진행되었지만.

$success 함수에 연결되어 있지만 누군가 도울 수 있다면 벽돌 벽에 부딪친다는 것을 알고 있습니까? ...

PHP

$username = "username_here"; //Your API username
$password = "password_here";  //your API password
$client = new SoapClient("http://apiconnector.com/api.asmx?WSDL"); 
//Instantiate the Soap client
$addressbookid=id_here;
$email = $_POST["email"];   
$Expo2017 = $_POST["region"];
$AudienceType="B2B";
$OptInType="Single";
$EmailType="Html";
$keys = array("EXPO2017");
$var2 = new SoapVar($Expo2017,XSD_STRING,"string","http://www.w3.org/2001/XMLSchema");
$values = array($var2);
$Datafields = array ('Keys'=>$keys,'Values'=>$values);
$contact = array ("Email"=>$email,"AudienceType"=>$AudienceType,"OptInType"=>$OptInType,"EmailType"=>$EmailType,"ID"=>-1,"DataFields"=>$Datafields);
$params = array ("username"=>$username,"password"=>$password,"contact"=>$contact,"addressbookId"=>$addressbookid);
return $client->AddContactToAddressbook($params);
$success = "success";
// redirect to success page
if ($success){
   echo "success";
}else{
    echo "invalid";
}

jQuery

jQuery(".footer_form").submit(function(event){
    // cancels the form submission
    event.preventDefault();
    submitForm();
});
function submitForm(){
    // Initiate Variables With Form Content
    var region = $(".footer_form_select").val();
    var email = $(".footer_form_input").val();
    // console.log(region);
    // console.log(email);
    jQuery.ajax({
        type: "POST",
        url: "../wp-content/themes/expo/php/form-process.php",
        data: "region=" + region + "&email=" + email,
        success : function(text){
            if (text == "success"){
                formSuccess();
            } else{
                formError();
            }
        }
    });
}

function formError(){
    jQuery( ".form_message_failed" ).removeClass( "hidden" );        
}
    function formSuccess(){
    jQuery( ".form_message_success" ).removeClass( "hidden" );
}

모든 팁과 도움을 주셔서 감사합니다!


  • 답변 # 1

    먼저 PHP에서 "return"문장 다음에 언급 된 코드는 무시되지 않는다는 것을 알아야합니다!
    두 번째 포인트는 어떤 유형의 데이터가 함수 AddContactToAdressBook? console.log (text);를 추가하십시오. succes 함수 jquery에서 테스트 바로 전에 볼 수 있습니다.
    부울 인 경우 jquery에서 성공 함수를 수행 할 수 있습니다.

    success : function(text){
            if (text){
                formSuccess();
            } else{
                formError();
            }
        }
    
    

관련 자료

  • 이전 c# - MVC에서 BLOB 데이터를 파일로 다운로드
  • 다음 python - 시퀀스를 쌍 조합으로 나누기