繁体   English   中英

带有 mailchimp 的 Angular2 帖子

[英]Angular2 post with mailchimp

我的帖子在邮递员中有效,但在我的应用程序中无效。 我究竟做错了什么?

let data = obj;
      let url = 'https://us123.api.mailchimp.com/3.0/lists/{somenumber}/members';
      let username: string = 'user';
      let password: string = 'mytokenhere';
      let headers = new Headers();
      headers.append("Authorization", "Basic " + btoa(username + ":" + password));
      headers.append("Content-Type", "application/x-www-form-urlencoded");
        return this._http.post(url, data, {headers: headers}).subscribe(
            data => this.response(data),
            error => this.response(error)
        );

我在应用程序中收到 CORS 错误:

'XMLHttpRequest 无法加载https://us123.api.mailchimp.com/3.0/lists/ {{somenumber}}/members。 对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。 因此,不允许访问 Origin ' http://localhost:4200 '。 响应的 HTTP 状态代码为 501。

Mailchimp 不支持客户端调用其 API。 您需要做的是设置一个服务器,该服务器可以将来自浏览器的请求代理到 Mailchimp。 如果 Mailchimp API 不提供 CORS 响应标头,则客户端无法执行太多操作以使其正常工作。

如果您创建的 API 与网站在同一个域中,那么 CORS 问题将被消除(或者您也可以通过设置适当的标头来修复)

请参阅身份验证下的注释:

https://developer.mailchimp.com/documentation/mailchimp/guides/get-started-with-mailchimp-api-3/

更多信息: https : //www.moesif.com/blog/technical/cors/Authoritative-Guide-to-CORS-Cross-Origin-Resource-Sharing-for-REST-APIs/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM