javascript - Mailchimp API 出错,无法使用 ajax 成功

标签 javascript jquery ajax api mailchimp

我无法从 mailchimp API V2.0 获得正确的响应。

当我尝试订阅新用户时

var arr = {
           apikey:"xxxx",
           id:"secretListId",
           email:{
                  email:"jd@example.com"
                 },
           double_optin:"false"
          }

function jsonpCallback (){
       alert("jsonpCallback");
    };

$.ajax({
      type: 'GET',
      url: 'https://us6.api.mailchimp.com/2.0/lists/subscribe.json',
      dataType: 'jsonp',
      jsonpCallback: 'jsonpCallback',
      data: arr,
      timeout: 4000,
      cache: false,
      async: false, success: function(data, textStatus, jqXHR) {
        alert('success: '+data);
      },
      error: function(jqXHR, textStatus, errorThrown){
        alert('error: '+JSON.stringify(jqXHR));
      },
      complete: function(jqXHR, textStatus){
        alert('complete: '+JSON.stringify(jqXHR));
      }       
    }).success(function(rsp){
        console.log('success: '+rsp);
    }).fail(function(xhr,error,thrownError){
        console.log('fail  status:[' + xhr.status + ']  error:[' + thrownError + ']');
    }).always(function(){
        console.log('complete');
    });
});

在检查器中我收到错误 500。

并在警报弹出窗口中

在此弹出窗口中应该是另一条消息(错误 500)。

但是当我将此链接转到浏览器时,我得到:

{
"status": "error",
"code": 214,
"name": "List_AlreadySubscribed",
"error": "jd@example.com is already subscribed to list mpowroznik.com List. Click here to update your profile."

当然,如果我添加新电子邮件,我会收到弹出警报

为什么这是错误,而不是成功?

我只使用 jQuery,不使用 PHP 或其他语言。

函数 jsonpCallback 根本没有执行。

我必须做什么,才能获得正确的响应消息。

最佳答案

由于非常具体的原因,此 API 不打算由浏览器中的代码使用。

通过在浏览器中发出此请求,任何使用发出此请求的页面的人都将能够获取您的 api key 并向 api 发出他们自己的请求,就好像他们是您一样,从而允许任何人窃取所有添加到列表中的电子邮件地址(甚至清空列表。)

您必须使用服务器端语言(例如 PHP)与此 api 进行交互。否则会危及您的用户/客户的安全。

关于javascript - Mailchimp API 出错,无法使用 ajax 成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21491515/

相关文章:

javascript - 根据用户输入重定向

javascript - 将变量传递给指令 AngularJS 内的动态 Controller

javascript - 我无法让 .addClass 在 IE11 中工作

javascript - 如何制作带有箭头而不是下一个上一个的猫头鹰旋转木马

javascript - 使用 javascript 解析作为 JSON 响应返回的 java 映射

ajax - 如何在氚中访问传入请求的 header ?

javascript - 如何让 2 个 YouTube 视频一个接一个地自动播放?

javascript - jquery 选择复选框选定的值

javascript - xml 到 json 转换中不需要的字段?

jQuery 验证器和使用 AJAX 的自定义规则