Mailchimp Ajax订阅列表

时间:2016-02-18 12:11:20

标签: jquery ajax mailchimp

我正在尝试订阅我的Mailchimp列表

<form method="post" action="https://us10.api.mailchimp.com/2.0/lists/subscribe.json" id="mailChimpForm">
   <div class="col-lg-6 col-sm-6" data-scrollreveal="enter left after 0s over 1s" data-sr-init="true" data-sr-complete="true">
      <input type="text" name="FNAME" placeholder="Your name (optional)" class="form-control input-box">
   </div>
      <input type="email" name="EMAIL" placeholder="Your email address" required="required" class="form-control input-box">
   </div>
   <button class="btn btn-primary custom-button green-btn" type="submit" data-scrollreveal="enter right after 0s over 1s" data-sr-init="true" data-sr-complete="true">Sign me up!</button>
</form>

ajax代码就是这个

$('#mailChimpForm').submit(function (e) {
    e.preventDefault();

    var payload =   {
        "apikey": "------------",
        "id": "244169",
        "email": {
            "email": "me@example.com"
        },
        "send_welcome": false
    };
    payload = JSON.stringify(payload);

    console.log($(this).attr('action'))

    $.ajax({
        url: $(this).attr('action'),
        type: 'POST',
        data: payload,
        success: function (data) {
            console.log(data);
        },
        error: function (error) {
            console.log(error);
        }
    });
});

但是我收到了这个错误

  

https://us10.api.mailchimp.com/2.0/lists/subscribe.json。 No&#39; Access-Control-Allow-Origin&#39;标头出现在请求的资源上

任何人都可以通过告诉我我做错了什么来指出正确的方向吗?

1 个答案:

答案 0 :(得分:0)

你不能这样做因为这个名为CORS的东西。此外,在面向客户端的代码中包含私有API密钥通常是不好的做法,例如您编写的这个Javascript。

我会查看像AjaxChimp这样的图书馆。我希望你不需要这个答案,你能够弄清楚,但对所有其他人来说......