我在 Mailchimp 网站上看到,当他们订阅您的邮件列表时,您可以将用户重定向到自定义感谢页面,但这并不是我想要做的。
当用户订阅我的邮件列表时,我想隐藏表单并直接在我的页面上用感谢信替换它,而无需任何重定向。有没有办法做到这一点?
您可以通过修改表单操作来做到这一点。
将“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.");
}
}
});
}