Gibt es eine Möglichkeit, Mailchimp einfach (eine E-Mail-Eingabe) in AJAX zu integrieren, sodass keine Seitenaktualisierung und keine Umleitung zur Standard-Mailchimp-Seite erfolgt?
Diese Lösung funktioniert nicht. JQuery Ajax POST funktioniert nicht mit MailChimp
Vielen Dank
javascript
ajax
forms
newsletter
mailchimp
alexndm
quelle
quelle
Antworten:
Sie benötigen keinen API-Schlüssel. Sie müssen lediglich das von Mailchimp generierte Standardformular in Ihren Code einfügen (das Erscheinungsbild nach Bedarf anpassen) und in den Attributen "Aktion" des Formulars
post?u=
inpost-json?u=
und dann am Ende der Formularaktion ändern anhängen&c=?
, um domänenübergreifende Probleme zu umgehen . Beachten Sie auch, dass Sie beim Absenden des Formulars GET anstelle von POST verwenden müssen.Ihr Formular-Tag sieht standardmäßig ungefähr so aus:
ändere es so, dass es ungefähr so aussieht
Mail Chimp gibt ein JSON-Objekt zurück, das 2 Werte enthält: 'result' - Dies zeigt an, ob die Anforderung erfolgreich war oder nicht (ich habe bisher nur 2 Werte gesehen, "error" und "success") und 'msg' - eine Nachricht das Ergebnis beschreiben.
Ich reiche meine Formulare mit diesem Stück jQuery ein:
quelle
post-json
wie beschrieben. Entfernen&c=
Sie die URL, wenn Sie sie in der Formularaktions-URL haben. Verwenden SiedataType: 'jsonp'
undjsonp: 'c'
für Ihren jQuery Ajax-Aufruf.EMAIL
(alle Großbuchstaben) lauten . Andernfalls wird eine Fehlermeldung angezeigt, dass die E-Mail-Adresse leer ist.Basierend auf der Antwort von gbinflames habe ich den POST und die URL beibehalten, damit das Formular für Benutzer mit deaktiviertem JS weiterhin funktioniert.
Durch die Verwendung von .submit () von jQuery wurden dann der Typ und die URL geändert, um JSON-Antworten zu verarbeiten.
quelle
Sie sollten den serverseitigen Code verwenden, um Ihr MailChimp-Konto zu sichern.
Das Folgende ist eine aktualisierte Version dieser Antwort, die PHP verwendet :
Die PHP-Dateien sind auf dem Server "gesichert", auf dem der Benutzer sie noch nie sieht. Die jQuery kann weiterhin darauf zugreifen und sie verwenden.
1) Laden Sie hier das PHP 5 jQuery-Beispiel herunter ...
http://apidocs.mailchimp.com/downloads/mcapi-simple-subscribe-jquery.zip
Wenn Sie nur PHP 4 haben, laden Sie einfach Version 1.2 des MCAPI herunter und ersetzen Sie die entsprechende
MCAPI.class.php
Datei oben.http://apidocs.mailchimp.com/downloads/mailchimp-api-class-1-2.zip
2) Befolgen Sie die Anweisungen in der Readme-Datei, indem Sie der
store-address.php
Datei an den richtigen Stellen Ihren API-Schlüssel und Ihre Listen-ID hinzufügen .3) Möglicherweise möchten Sie auch den Namen Ihrer Benutzer und / oder andere Informationen erfassen. Sie müssen der
store-address.php
Datei ein Array mit den entsprechenden Zusammenführungsvariablen hinzufügen .So
store-address.php
sieht meine Datei aus, in der ich auch den Vornamen, den Nachnamen und den E-Mail-Typ erfahre:4) Erstellen Sie Ihr HTML / CSS / jQuery-Formular. Es ist nicht erforderlich, sich auf einer PHP-Seite zu befinden.
So
index.html
sieht meine Datei aus:Erforderliche Stücke ...
index.html wie oben oder ähnlich aufgebaut. Mit jQuery sind das Erscheinungsbild und die Optionen endlos.
store-address.php Datei als Teil von PHP Beispiele auf Mailchimp Website und modifiziert mit heruntergeladenen API KEY und LIST - ID . Sie müssen dem Array Ihre anderen optionalen Felder hinzufügen.
MCAPI.class.php Datei heruntergeladen von Mailchimp Website (Version 1.3 für PHP 5 oder Version 1.2 für PHP 4). Platzieren Sie es im selben Verzeichnis wie Ihre store-address.php, oder Sie müssen den URL-Pfad in store-address.php aktualisieren, damit es gefunden werden kann.
quelle
Für alle, die eine Lösung für einen modernen Stack suchen:
quelle
Basierend auf der Antwort von gbinflames hat dies für mich funktioniert:
Generieren Sie ein einfaches Anmeldeformular für die Mailchimp-Liste, kopieren Sie die Aktions-URL und die Methode (Post) in Ihr benutzerdefiniertes Formular. Benennen Sie auch Ihre Formularfeldnamen in Großbuchstaben um (name = 'EMAIL' wie im ursprünglichen Mailchimp-Code, EMAIL, FNAME, LNAME, ...) und verwenden Sie dann Folgendes:
quelle
Für dieses Datum (Februar 2017) scheint mailchimp etwas Ähnliches wie das, was gbinflames vorschlägt, in ihre eigene, von Javascript generierte Form integriert zu haben.
Sie brauchen jetzt keine weiteren Eingriffe, da mailchimp das Formular in ein von Ajax übermitteltes Formular konvertiert, wenn Javascript aktiviert ist.
Alles, was Sie jetzt tun müssen, ist, das generierte Formular aus dem Einbettungsmenü in Ihre HTML-Seite einzufügen und KEINEN anderen Code zu ändern oder hinzuzufügen.
Das funktioniert einfach. Danke MailChimp!
quelle
Verwenden Sie dazu das Plugin jquery.ajaxchimp . Es ist ganz einfach!
JavaScript:
quelle
Andererseits gibt es in AngularJS einige Pakete, die hilfreich sind (in AJAX WEB):
https://github.com/cgarnier/angular-mailchimp-subscribe
quelle