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 を含む