目前我使用@skube方法提交mailchimp表单。我可以成功设置它真正的工作。但我想在我的网站上收到mailchimp错误消息。
赞:当有人已经订阅或提供假电子邮件,或者mailchimp提供的无效电子邮件等。
以下是@skube提供的代码。
HTML代码:
[1] pry(main)> Runn.all
Runn Load (0.8ms) SELECT "runns".* FROM "runns"
=> [#<Runn:0x007f4784e9b3a8
id: 1,
ident: "Run 0.0",
size: "Medium,",
amenities: nil,
created_at: Thu, 03 Dec 2015 05:59:02 UTC +00:00,
updated_at: Thu, 03 Dec 2015 05:59:02 UTC +00:00,
ward_id: 1,
occupied: false>,
#<Runn:0x007f4784e98a40
id: 2,
ident: "Run 0.1",
size: "Small,",
amenities: nil,
created_at: Thu, 03 Dec 2015 05:59:02 UTC +00:00,
updated_at: Thu, 03 Dec 2015 05:59:02 UTC +00:00,
ward_id: 1,
occupied: false>,
#<Runn:0x007f4784e98900
id: 3,
ident: "Run 1.0",
size: "Small,",
amenities: nil,
ajax代码
<form class="myform" action="http://XXXXXXXXXlist-manage2.com/subscribe/post" method="POST">
<input type="hidden" name="u" value="XXXXXXXXXXXXXXXX">
<input type="hidden" name="id" value="XXXXXXXXX">
<input class="input" type="text" value="" name="MERGE1" placeholder="First Name" required>
<input type="submit" value="Send" name="submit" id="mc-embedded-subscribe">
</form>
我搜索了这个,但没有找到任何有效的文件。我找到了一个github代码,但我无法使其工作。这是github link
希望有人帮助我。
注意:我尝试使用旧的api代码方法,但mailchimp建议不要使用它。他们已经发布了3.0版本的API
答案 0 :(得分:2)
抱歉,感谢大家的时间。我得到了解决方案。解决方案非常简单!
需要在错误部分使用数据[&#39; msg&#39;] 。
所以代码看起来像:
$('.myform').submit(function(e) {
var $this = $(this);
$.ajax({
type: "GET", // GET & url for json slightly different
url: "http://XXXXXXXX.list-manage2.com/subscribe/post-json?c=?",
data: $this.serialize(),
dataType : 'json',
contentType: "application/json; charset=utf-8",
error : function(err) { alert("Could not connect to the registration server."); },
success : function(data) {
if (data.result != "success") {
// Something went wrong, parse data.msg string and display message
alert(data['msg']);
} else {
// It worked, so hide form and display thank-you message.
alert('Thanks for subscribe');
}
}
});
return false;
});
因此,您可以在div或p或任何地方使用数据[&#39; msg&#39;] ..您想要显示输出。
示例:
$('#error').html(data['msg']);
谢谢大家。
答案 1 :(得分:0)
感谢您的自动回复!
对我有用,但我必须做一些改变: 形式:
<form id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate myform" validate>
,没有动作和方法。
ajax 调用:
$.ajax({
type: "post",
url: "xxxxxx/subscribe/post-json?c=?",
data: $this.serialize(),
mode: 'no-cors',
dataType : 'json',
contentType: "application/json",
error : function(err) { alert("Could not connect to the registration server."); },
success : function(data) {
if (data.result != "success") {
// Something went wrong, parse data.msg string and display message
alert(data['msg']);
} else {
alert("thanks!");
}
}
});