Есть ли способ интегрировать mailchimp simple (один ввод электронной почты) с AJAX, чтобы не было обновления страницы и перенаправления на страницу mailchimp по умолчанию.
Это решение не работает jQuery Ajax POST не работает с MailChimp
Спасибо
javascript
ajax
forms
newsletter
mailchimp
alexndm
источник
источник
Ответы:
Вам не нужен ключ API, все, что вам нужно сделать, это вставить стандартную сгенерированную форму mailchimp в свой код (настроить внешний вид по мере необходимости) и в атрибуте "действие" форм изменить
post?u=
на,post-json?u=
а затем в конце действия формы. добавить,&c=?
чтобы обойти любую междоменную проблему. Также важно отметить, что при отправке формы вы должны использовать GET, а не POST.Тег формы по умолчанию будет выглядеть примерно так:
измените его, чтобы он выглядел примерно так
Mail Chimp вернет объект json, содержащий 2 значения: «результат» - это укажет, был ли запрос успешным или нет (я когда-либо видел только 2 значения, «ошибка» и «успех») и «msg» - сообщение описание результата.
Я отправляю свои формы с помощью этого фрагмента jQuery:
источник
post-json
как описано. Удалите,&c=
если он у вас есть в URL-адресе действия формы. ИспользуйтеdataType: 'jsonp'
иjsonp: 'c'
для вызова jQuery ajax.EMAIL
(все заглавными). В противном случае вы получите сообщение об ошибке о том, что адрес электронной почты пуст.Основываясь на ответе gbinflames, я сохранил POST и URL-адрес, чтобы форма продолжала работать для тех, у кого отключен JS.
Затем с помощью jQuery .submit () изменил тип и URL для обработки ответов JSON.
источник
Вы должны использовать код на стороне сервера, чтобы защитить свою учетную запись MailChimp.
Ниже приводится обновленная версия этого ответа, в которой используется PHP. :
Файлы PHP «защищены» на сервере, где пользователь никогда их не видит, но jQuery все еще может получить доступ и использовать.
1) Загрузите пример PHP 5 jQuery здесь ...
http://apidocs.mailchimp.com/downloads/mcapi-simple-subscribe-jquery.zip
Если у вас только PHP 4, просто загрузите версию 1.2 MCAPI и замените соответствующий
MCAPI.class.php
файл выше.http://apidocs.mailchimp.com/downloads/mailchimp-api-class-1-2.zip
2) Следуйте инструкциям в файле Readme, добавив ключ API и идентификатор списка в
store-address.php
файл в нужных местах.3) Вы также можете захотеть собрать имена ваших пользователей и / или другую информацию. Вы должны добавить в
store-address.php
файл массив, используя соответствующие переменные слияния.Вот как
store-address.php
выглядит мой файл, где я также собираю имя, фамилию и тип электронной почты:4) Создайте форму HTML / CSS / jQuery. Находиться на странице PHP не обязательно.
Вот как
index.html
выглядит мой файл:Необходимые детали ...
index.html, созданный как указано выше или аналогично. С jQuery внешний вид и возможности безграничны.
Файл store-address.php загружен как часть примеров PHP на сайте Mailchimp и изменен с использованием вашего API KEY и LIST ID . Вам необходимо добавить в массив другие необязательные поля.
Файл MCAPI.class.php, загруженный с сайта Mailchimp (версия 1.3 для PHP 5 или версия 1.2 для PHP 4). Поместите его в тот же каталог, что и ваш store-address.php, или вы должны обновить путь URL -адреса в store-address.php, чтобы он мог его найти.
источник
Для тех, кто ищет решение на современном стеке:
источник
Основываясь на ответе gbinflames, это сработало для меня:
Создайте простую форму подписки на рассылку mailchimp, скопируйте URL-адрес действия и метод (сообщение) в свою настраиваемую форму. Также переименуйте имена полей формы на заглавные (name = 'EMAIL', как в исходном коде mailchimp, EMAIL, FNAME, LNAME, ...), затем используйте это:
источник
Что касается этой даты (февраль 2017 г.), похоже, что mailchimp интегрировал что-то похожее на то, что предлагает gbinflames, в их собственную форму, сгенерированную javascript.
Теперь вам не нужно никакого дополнительного вмешательства, поскольку mailchimp преобразует форму в отправленную с помощью ajax, когда включен javascript.
Все, что вам нужно сделать сейчас, это просто вставить сгенерированную форму из меню встраивания на свою html-страницу и НЕ изменять или добавлять какой-либо другой код.
Это просто работает. Спасибо, MailChimp!
источник
Для этого используйте плагин jquery.ajaxchimp . Это очень просто!
JavaScript:
источник
С другой стороны, в AngularJS есть несколько полезных пакетов (в AJAX WEB):
https://github.com/cgarnier/angular-mailchimp-subscribe
источник