我正在尝试构建一个通过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”]时,我得到了回复。当我将变量传递给我遇到问题的API调用时。整个脚本刚刚死掉,没有来自API的错误,没有来自php的错误,绝对没有,我知道它会死掉,因为在api调用之后没有回音。当我使用$ my_email =“test@testemail.com”运行API调用并自行运行PHP脚本时,一切都运行正常。所有其他API调用也适用于ajax,listSubscribe是我遇到的唯一问题。如果我在电子邮件字段中输入非电子邮件,listSUbscribe api函数会将其报告为错误(API部分的验证显然也正常),但如果我输入电子邮件,则绝对没有任何反应。没有用户被添加到列表中,我的收件箱,垃圾邮件或垃圾文件夹中没有任何内容。
任何人都可以给我一个轻微的线索,问题是什么,我完全失去了这个。 PHP代码是beow:
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
答案 0 :(得分:1)
阻止提交表单:
$("#mailchimp_form .btn").click(function (e){
// your ajax...
e.preventDefault();
return false;
});