2011-07-24 19 views
0

私はdotmailerのリストにアドレスを追加しようとしています(これはよく知られていない人はmailchimpのようなサービスです)。アドレスを追加することはできますが、返されたステータスを取得するのには苦労しています。 Ajax。Ajaxの呼び出しと返信応答

私は私が次のことを持っている参照しているdotmailer.phpページでは、PHP

var emailEntered; 

    $(document).ready(function() { 

     $.fn.search = function() { 
      return this.focus(function() { 
       if(this.value == this.defaultValue) { 
        this.value = ""; 
       } 
      }).blur(function() { 
       if(!this.value.length) { 
        this.value = this.defaultValue; 
       } 
      }); 
     }; 
     $("#email").search(); 

     $("#sendButton").click(function() { 
       $(".error").hide(); 
       var emailReg = /^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})?$/; 
       var emailaddressVal = $("#email").val(); 

       if(emailaddressVal == '') { 
        $("#message").html('<span class="error">Enter your email address before submitting.</span>'); 
        return false; 
       } 
       else if(!emailReg.test(emailaddressVal)) { 
        $("#message").html("<span class='error'>Please check your email address.</span>"); 
        return false; 
       } 
       else { 
        emailEntered = escape($('#email').val()); 
       } 

     }); 
     $('#signup').submit(function() { 
      $("#message").html("<span class='error'>Adding your email address...</span>"); 
      $.ajax({ 
       url: 'dotmailerInput.php', 
       data: 'ajax=true&email=' + emailEntered, 
       success: function(msg) { 
        $('#message').html(msg); 
       } 
      }); 
      return false; 
     }); 

    }); 
</script> 

<form id="signup" action="dotmailer.php" method="get"> 
       <input type="email" name="email" id="email" class="textinput" value="Enter" /> 
       <input type="submit" id="sendButton" name="submit" class="textinput" value="" /> 
      </form> 
      <div id="message"> </div> 

に私のフォームページで、以下の持っています。私はそれが私に "あなたの電子メールアドレスを追加する"という応答を与えることがわかりますが、この後、私が言ったように電子メールは正しく追加されます。

$email = $_GET['email'];  
$username = ""; //apiusername 
$password = ""; //api password  
$addressbookid = ; 
$AudienceType = "Unknown"; 
$OptInType = "Unknown"; 
$EmailType = "Html"; 


try { 

$client = new SoapClient("http://apiconnector.com/api.asmx?WSDL"); 
$contact = array("Email" => $email,"AudienceType" => $AudienceType, "OptInType" => $OptInType, "EmailType" => $EmailType, "ID" => -1); 

$dotParams = array("username" => $username, "password" => $password, "contact" => $contact, "addressbookId" => $addressbookid); 
$result = $client->AddContactToAddressBook($dotParams); 
return "Success"; 
} 
catch (Exception $e) { 
return "Error"; 
} 

どのような見方をしているのか、次にどこに行くのかについてのヒントは、非常に高く評価されます。あなたがPHPのトップレベルにあり、これを使用して出力を行いますので、

クリス

答えて

0

は(関数値をgibing代わりreturnの)echoの代わりreturnを試してみてください。

+0

ああ、私は機能していないので、それを呼び出すのではないので、役に立たないですか? ThatsはMarc、とても感謝しました。 – Knade

関連する問題