SORU
8 Aralık 2011, PERŞEMBE


AJAX Mailchimp kayıt formu entegrasyonu

Sayfa yenileme ve mailchimp sayfa varsayılan yönlendirme yok yani AJAX ile mailchimp basit (bir e-posta giriş) entegre etmek için herhangi bir yolu var.

Bu çözüm jQuery Ajax POST not working with MailChimp çalışmıyor

Teşekkürler

CEVAP
27 ŞUBAT 2013, ÇARŞAMBA


İhtiyacın yok bir API anahtarı, tüm yapman gereken plop standart mailchimp oluşturulan forma kodunuzu ( Özelleştir bak gerektiği gibi ) ve formları "eylem" özniteliği değiştirmek için post?u= post-json?u= ve sonunda formları eylem Ekle &c=? etrafında herhangi bir çapraz etki alanı sorunu. Ayrıca önemli kullanmalısınız form POST yerine GET unutmayın.

Form etiketi varsayılan: bu gibi bir şey olacaktır

<form action="http://xxxxx.us#.list-manage1.com/subscribe/post?u=xxxxx&id=xxxx" method="post" ... >

böyle bir şey için değiştirin

<form action="http://xxxxx.us#.list-manage1.com/subscribe/post-json?u=xxxxx&id=xxxx&c=?" method="get" ... >

Posta Şempanze dönecektir json nesnesi içeren 2 değerleri: 'sonuç' - bu irade gösterirse, bu istek başarılı oldu ya da değil ( ben sadece gördüğüm 2 değerleri, "hata" ve "başarı" ve 'hata' mesaj açıklayan sonucu.

JQuery bu bit ile belgelerimi sunuyorum:

$(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...
            }
        }
    });
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • kev5124

    kev5124

    9 Kasım 2008
  • metagamers

    metagamers

    13 Mayıs 2006
  • TheFlashCentre

    TheFlashCent

    22 Mayıs 2008