小编典典

Mailchimp使用jQuery AJAX订阅吗?

ajax

在Mailchimp上订阅列表的完整jQuery解决方案是什么?

问题是大多数解决方案要么使用库,要么需要服务器端代码。我想要一个快速而优雅的解决方案,它可以让我完全控制UI,因此可以控制表单及其功能的UX。


阅读 344

收藏
2020-07-26

共1个答案

小编典典

@Nagra的解决方案很好,但是由于有效的“ 同源来源安全策略” ,因此从客户端的浏览器执行该解决方案将引发错误。本质上,这些安全措施是为了
防止 在发件人和发件人位于不同域时发生 跨站点请求

如果您在JavaScript控制台中看到类似以下的错误,则明确指出。

XMLHttpRequest cannot load [http://YOUR-MAILCHIMP-URL](http://your-mailchimp- url/). No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin [http://BROWSER-LOCATION](http://browser-location/) is therefore not allowed access.

为了克服此问题,需要重写脚本以利用CORS或JSONP。由于MailChimp API不支持CORS,因此唯一的选择是未记录的JSONP接口。

更改URL以使用/ subscribe / post-json吗? 版本并 附加&c =? 到最后。网址更新后,您还需要将JSON哈希中的
dataType 修改为 jsonp

该函数的更新后的前几行应类似于以下内容。

$.ajax({
    url: '//YOUR URL&id=YOUR LIST ID&c=?',
    data: $('#YOUR FORM').serialize(),
    dataType: 'jsonp',
2020-07-26