Mailchimp如何用javascript调用Mailchimp 3.0 API



我正试图在mailchimp上订阅一封列表电子邮件,我首先遵循了文档,使用"Postman"提出了一个请求,添加了所需内容,一切都很好,所以我试图在我的网站上做这件事,但不起作用

我试着用我在邮差上设置的相同值发出一个简单的请求,但每次我尝试发送请求时,响应都会显示

XMLHttpRequest无法加载https://us12.api.mailchimp.com/3.0/lists/xxxxxx/members.回答飞行前请求未通过访问控制检查:否请求的上存在"Access Control Allow Origin"标头资源原点'https://mywebsite.com因此不允许通道响应的HTTP状态代码为501。

我试图找到一种方法来克服这一点,但这是不可能的

我在stackoverflow上搜索了一下,每个人都说要使用jsonp或在ajax调用中添加一些东西或使用mailchimp ajax插件,什么都不起作用

我试过不同的stackoverflow帖子,比如这个Mailchimp使用jQueryAJAX订阅?但几乎所有人都说相同的

我试过cache: falsedataType:jsonpcrossDomain: truexhrFields: {withCredentials: true}

这是我的代码,我正在使用Jquery

$.ajax({
type: "POST",
url: "https://usxx.api.mailchimp.com/3.0/lists/xxxxxxxx/members",
data: { "email_address":email@adress.com,  "status":"subscribed"},
headers: {
"Authorization": "Basic xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx==",
"Content-Type": "application/json"
},
success: function(data){
alert('Thanks for subscribing');
},
error: function(data){
alert('there was an error, try again later');
}
});

我也想过创建自己的api,然后调用mailchimp api,但我可能会遇到同样的问题

你有什么建议吗?

提前感谢

正如charliefl所指出的,这是一个CORS问题。MailChimp不支持CORS,主要是因为它要求您将API凭据传递给网页用户,允许他们接管您的整个帐户。

MailChimp的两个选项是通过服务器代理您的请求,或者,为了将用户注册到您的列表,您可以使用更受限制的API构建自定义注册表单。第二种方法需要注意的是,它会强制您的所有订阅通过MailChimp的双重选择加入过程。

相关内容

  • 没有找到相关文章

最新更新