我正在通过 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" );
}
所有提示和帮助都很有用,谢谢!