0

PHPスクリプトを介してmailchimp APIと統合するajaxフォームを構築しようとしています。以下のフォームを使用して、AJAX から変数を正常に渡しています。

      <div id="mailchimp_form">
        <p>Enter your email address below to get first dibs!</p>
        <form>
         <input type="email" value="" name="EMAIL" placeholder="Enter your email address to get first dibs...">
         <button class="btn">Submit</button>
        </form>
      </div>
    </div>
  </div>
</div>
<script src="http://code.jquery.com/jquery.js"></script>
<script src="js/bootstrap.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {

  $("#mailchimp_form .btn").click(function (){

    dataString = $("#mailchimp_form form").serialize();

    $.ajax({  
      type: "POST",  
      url: "includes/subscribe.php",  
      data: dataString,  
      success: function(returnval) {  
       alert(returnval);
      }  
    });  

  });

}); 
</script>

$_POST["EMAIL"] を echo すると応答が返ってくるので、私はこれを知っています。問題が発生したときのAPI呼び出しに変数を渡すとき。スクリプト全体が終了し、API からのエラーも、php からのエラーも、まったく何もありません。さらに奇妙なことに、$my_email = "test@testemail.com" を指定して API 呼び出しを実行し、PHP スクリプトを単独で実行すると、すべて正常に動作します。他のすべての API 呼び出しも ajax で正常に動作します。問題があるのは listSubscribe だけです。電子メール以外を電子メール フィールドに入力すると、listSUBscribe API 関数はそれをエラーとして報告します (API 側の検証も明らかに機能しています) が、電子メールを入力してもまったく何も起こりません。ユーザーはリストに追加されず、受信トレイ、スパム、またはごみ箱フォルダーには何もありません。

問題が何であるかについて、誰かが私に少しでも手がかりを与えることができますか?私はこれについて完全に迷っています. PHPコードは次のとおりです。

function test($apikey,$listId) {
$api = new MCAPI($apikey);
$my_email = $_POST["EMAIL"];
$merge_vars = array("FNAME"=>'Sichard', "LNAME"=>'Wright');
$api->listSubscribe( $listId, $my_email, $merge_vars );

echo $my_email;
echo $api->errorCode;
}

test($apikey,$listId);

私の含まれるもの:

require_once 'MCAPI.class.php'; require_once 'config.inc.php'; //apikey を含む

4

1 に答える 1

1

フォームが送信されないようにします:

$("#mailchimp_form .btn").click(function (e){

// your ajax...

e.preventDefault();
return false;

});
于 2013-06-17T16:21:59.350 に答える