3

我在 Mailchimp 网站上看到,当他们订阅您的邮件列表时,您可以将用户重定向到自定义感谢页面,但这并不是我想要做的。

当用户订阅我的邮件列表时,我想隐藏表单并直接在我的页面上用感谢信替换它,而无需任何重定向。有没有办法做到这一点?

4

1 回答 1

9

您可以通过修改表单操作来做到这一点。

将“subscribe/post”更改为“subscribe/post-json”……</p>

<form action="...list-manage.com/subscribe/post-json?u=...."

向表单添加提交处理程序:

$("#subscribe-form").submit(function(e){
    e.preventDefault();
    submitSubscribeForm($("#subscribe-form"));
});

通过 AJAX 提交表单(此处参考 Github 的代码):

function submitSubscribeForm($form, $resultElement) {
        $.ajax({
            type: "GET",
            url: $form.attr("action"),
            data: $form.serialize(),
            cache: false,
            dataType: "jsonp",
            jsonp: "c",
            contentType: "application/json; charset=utf-8",

            error: function(error){},

            success: function(data){
                if (data.result != "success") {
                    var message = data.msg || "Sorry. Unable to subscribe. Please try again later.";

                    if (data.msg && data.msg.indexOf("already subscribed") >= 0) {
                        message = "You're already subscribed. Thank you.";
                    }

                    $resultElement.html(message);

                } else {

然后编写代码以显示注册确认

                    $resultElement.html("Thank you!<br>You must confirm the subscription in your inbox.");
                }
            }
        });
    }
于 2014-05-23T20:01:47.773 回答