AJAX Mailchimp注册表单集成

有没有办法将mailchimp simple(一封电子邮件输入)与AJAX集成在一起,这样就不会刷新页面,也不会重定向到默认的mailchimp页面

此解决方案不适用于jQuery Ajax POST不适用于MailChimp

谢谢

您不需要API密钥,只需将标准mailchimp生成的表单放入代码中(根据需要定制外观),并在表单“action”属性中更改post?u=post json?u=,然后在表单操作的末尾追加&c=?以避开任何跨域问题。同样重要的是要注意,当你提交表单时,你必须使用GET而不是POST

默认情况下,您的表单标记将如下所示:

<表单操作=”http://xxxxx.us#.list-manage1.com/subscribe/post?u=xxxxx&id=xxxx“method=“post”&燃气轮机;

把它改成这样

<表单操作=”http://xxxxx.us#.list-manage1.com/subscribe/post json?u=xxxxx&id=xxxx&c=?“method=”get“&燃气轮机;

Mail Chimp将返回一个包含两个值的json对象:“result”-这将指示请求是否成功(我只见过两个值,“error”和“success”)和“msg”-一条描述结果的消息

我用jQuery提交表格:

$(文档).ready(函数(){
//我在页面上只有一个表单,但如果需要,您可以更具体。
变量$form=$('form');
如果($form.length>0){
$('forminput[type=“submit”]”)。绑定('click',函数(事件){
if(event)event.preventDefault();
//validate_input()是我编写的一个验证函数,您必须用自己的函数替换它。
if(validate_input($form)){register($form);}
});
}
});
功能寄存器($form){
$.ajax({
类型:$form.attr('method'),
url:$form.attr('action'),
数据:$form.serialize(),
cache:false,
数据类型:“json”,
contentType:“应用程序/json;字符集=utf-8”,
错误:函数(err){alert(“无法连接到注册服务器。请稍后再试。”);},
成功:功能(数据){
如果(data.result!=“成功”){
//如果出现问题,请采取措施通知用户。可能是警报(data.msg);
}否则{
//它起作用了,继续。。。
}
}
});
}

发表评论