Вам не нужен ключ API, все , что вам нужно сделать , это хлопнуть стандарт MailChimp формы , сгенерированным в код (настроить внешний вид по мере необходимости) , а также в формах «действие» атрибут изменить post?u=
к , post-json?u=
а затем в конце действий формы добавьте, &c=?
чтобы обойти любую проблему с перекрестным доменом. Также важно отметить, что при отправке формы вы должны использовать GET, а не POST.
Ваш тег формы будет выглядеть примерно так:
<form action="http://xxxxx.us#.list-manage1.com/subscribe/post?u=xxxxx&id=xxxx" method="post" ... >
измените его, чтобы выглядеть примерно так
<form action="http://xxxxx.us#.list-manage1.com/subscribe/post-json?u=xxxxx&id=xxxx&c=?" method="get" ... >
Mail Chimp вернет объект json, содержащий 2 значения: «result» - это будет указывать, был ли запрос успешным или нет (я видел только 2 значения, «ошибка» и «успех») и «msg» - сообщение описывая результат.
Я передаю свои формы с этим битом jQuery:
$(document).ready( function () {
// I only have one form on the page but you can be more specific if need be.
var $form = $('form');
if ( $form.length > 0 ) {
$('form input[type="submit"]').bind('click', function ( event ) {
if ( event ) event.preventDefault();
// validate_input() is a validation function I wrote, you'll have to substitute this with your own.
if ( validate_input($form) ) { register($form); }
});
}
});
function register($form) {
$.ajax({
type: $form.attr('method'),
url: $form.attr('action'),
data: $form.serialize(),
cache : false,
dataType : 'json',
contentType: "application/json; charset=utf-8",
error : function(err) { alert("Could not connect to the registration server. Please try again later."); },
success : function(data) {
if (data.result != "success") {
// Something went wrong, do something to notify the user. maybe alert(data.msg);
} else {
// It worked, carry on...
}
}
});
}