在Mailchimp上订阅列表的完整jQuery解决方案是什么?
问题是大多数解决方案要么使用库,要么需要服务器端代码。我想要一个快速而优雅的解决方案,它可以让我完全控制UI,因此可以控制表单及其功能的UX。
@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',