Ответ 1
Решение@Nagra - это хорошо, но оно будет вызывать ошибку при выполнении из браузера клиента в силу стратегий безопасности одинакового происхождения. По сути, эти меры безопасности существуют для предотвращения запросов межсайтового сайта, которые возникают, когда отправитель и отправитель находятся в разных доменах.
Если вы видите ошибки, подобные приведенным ниже в консоли javascript, это четкое указание.
XMLHttpRequest cannot load http://YOUR-MAILCHIMP-URL. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin http://BROWSER-LOCATION is therefore not allowed access.
Чтобы преодолеть эту проблему, необходимо перезаписать script, чтобы использовать CORS или JSONP. Поскольку API MailChimp не поддерживает CORS, единственным вариантом является недокументированный интерфейс JSONP.
Измените URL-адрес, чтобы использовать версию /subscribe/post -json?, а также append & c =?. После обновления URL-адреса вам также потребуется изменить dataType в хеше JSON jsonp
Обновленные первые несколько строк функции должны быть похожи на приведенные ниже.
$.ajax({
url: '//YOUR URL&id=YOUR LIST ID&c=?',
data: $('#YOUR FORM').serialize(),
dataType: 'jsonp',