Apakah ada cara untuk mengintegrasikan mailchimp sederhana (satu input email) dengan AJAX, sehingga tidak ada penyegaran halaman dan tidak ada pengalihan ke halaman default mailchimp.
Solusi ini tidak berfungsi jQuery Ajax POST tidak berfungsi dengan MailChimp
Terima kasih
javascript
ajax
forms
newsletter
mailchimp
alexndm
sumber
sumber
Jawaban:
Anda tidak memerlukan kunci API, yang harus Anda lakukan adalah memasukkan formulir yang dibuat oleh mailchimp standar ke dalam kode Anda (sesuaikan tampilan sesuai kebutuhan) dan dalam bentuk "tindakan" berubah
post?u=
menjadi atributpost-json?u=
dan kemudian di akhir tindakan formulir tambahkan&c=?
untuk mengatasi masalah lintas domain. Juga penting untuk dicatat bahwa ketika Anda mengirimkan formulir, Anda harus menggunakan GET daripada POST.Tag formulir Anda akan terlihat seperti ini secara default:
ubah agar terlihat seperti ini
Mail Chimp akan mengembalikan objek json yang berisi 2 nilai: 'result' - ini akan menunjukkan apakah permintaan tersebut berhasil atau tidak (saya hanya pernah melihat 2 nilai, "error" dan "success") dan 'msg' - sebuah pesan mendeskripsikan hasilnya.
Saya mengirimkan formulir saya dengan sedikit jQuery ini:
sumber
post-json
seperti yang dijelaskan. Hapus&c=
jika Anda memilikinya di url tindakan formulir. GunakandataType: 'jsonp'
danjsonp: 'c'
untuk panggilan ajax jQuery Anda.EMAIL
(huruf besar semua). Jika tidak, Anda akan mendapatkan pesan kesalahan yang menyatakan bahwa alamat email tersebut kosong.Berdasarkan jawaban gbinflames, saya menyimpan POST dan URL, sehingga formulir akan terus berfungsi untuk mereka yang JS nonaktif.
Kemudian, menggunakan .submit () jQuery mengubah jenisnya, dan URL untuk menangani tanggapan JSON.
sumber
Anda harus menggunakan kode sisi server untuk mengamankan akun MailChimp Anda.
Berikut ini adalah versi terbaru dari jawaban ini yang menggunakan PHP :
File PHP "diamankan" di server di mana pengguna tidak pernah melihatnya namun jQuery masih dapat mengakses & menggunakan.
1) Unduh contoh jQuery PHP 5 di sini ...
http://apidocs.mailchimp.com/downloads/mcapi-simple-subscribe-jquery.zip
Jika Anda hanya memiliki PHP 4, cukup unduh MCAPI versi 1.2 dan ganti
MCAPI.class.php
file yang sesuai di atas.http://apidocs.mailchimp.com/downloads/mailchimp-api-class-1-2.zip
2) Ikuti petunjuk di file Readme dengan menambahkan kunci API dan ID Daftar Anda ke
store-address.php
file di lokasi yang tepat.3) Anda mungkin juga ingin mengumpulkan nama pengguna Anda dan / atau informasi lainnya. Anda harus menambahkan array ke
store-address.php
file menggunakan Merge Variables yang sesuai.Ini adalah
store-address.php
tampilan file saya di mana saya juga mengumpulkan nama depan, nama belakang, dan jenis email:4) Buat formulir HTML / CSS / jQuery Anda. Itu tidak harus berada di halaman PHP.
Berikut adalah
index.html
tampilan file saya :Potongan yang dibutuhkan ...
index.html dibuat seperti di atas atau serupa. Dengan jQuery, tampilan dan opsinya tidak terbatas.
file store-address.php diunduh sebagai bagian dari contoh PHP di situs Mailchimp dan dimodifikasi dengan KUNCI API dan ID DAFTAR Anda . Anda perlu menambahkan bidang opsional lainnya ke larik.
File MCAPI.class.php diunduh dari situs Mailchimp (versi 1.3 untuk PHP 5 atau versi 1.2 untuk PHP 4). Letakkan di direktori yang sama dengan store-address.php Anda atau Anda harus memperbarui jalur url di dalam store-address.php agar dapat menemukannya.
sumber
Untuk siapa pun yang mencari solusi pada tumpukan modern:
sumber
Berdasarkan jawaban gbinflames, inilah yang berhasil untuk saya:
Buat formulir pendaftaran mailchimp list sederhana, salin URL tindakan dan metode (posting) ke formulir kustom Anda. Juga ganti nama kolom formulir Anda menjadi semua kapital (name = 'EMAIL' seperti pada kode mailchimp asli, EMAIL, FNAME, LNAME, ...), kemudian gunakan ini:
sumber
Adapun tanggal ini (Februari 2017), tampaknya mailchimp telah mengintegrasikan sesuatu yang mirip dengan apa yang disarankan gbinflames ke dalam formulir yang dibuat javascript mereka sendiri.
Anda tidak memerlukan intervensi lebih lanjut sekarang karena mailchimp akan mengubah formulir menjadi formulir yang dikirimkan ajax ketika javascript diaktifkan.
Yang perlu Anda lakukan sekarang hanyalah menempelkan formulir yang dihasilkan dari menu sematan ke halaman html Anda dan BUKAN mengubah atau menambahkan kode lain.
Ini bekerja dengan mudah. Terima kasih MailChimp!
sumber
Gunakan plugin jquery.ajaxchimp untuk melakukannya. Sangat mudah!
JavaScript:
sumber
Di sisi lain, ada beberapa paket di AngularJS yang berguna (di AJAX WEB):
https://github.com/cgarnier/angular-mailchimp-subscribe
sumber