0
私はこのスニペットを使用して、私のmailchimpリストにユーザーをサブスクライブしようとしています:MailChimpのAPI 3.0 XHRは501エラーを購読
function subscribeUser(name, email) {
var xhr = new XMLHttpRequest();
var endpoint = 'https://<dc>.api.mailchimp.com/3.0/lists/<list>/members/';
var data = {};
data.email_address = email;
data.status = "subscribed";
data.merge_fields = {};
data.merge_fields.NAME = name;
xhr.open("POST", endpoint, true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.setRequestHeader("Authorization", "apikey <key>");
xhr.onreadystatechange = function() {
if(xhr.readyState == 4 && xhr.status == 200) {
alert(xhr.responseText);
}
}
xhr.send(data);
}
それはクロームでこのエラーを生成します。
私はAJAXベースのサービスを記述することができませんリストを更新する。あなたたちはアクセスコントロールのヘッダーを追加していないからです。私は現代のブラウザを使って単純なxhrをエンドポイントに送ることはできません。
XMLHttpRequest cannot load https://<dc>.api.mailchimp.com/3.0/lists/<list>/members/. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8000' is therefore not allowed access. The response had HTTP status code 501.
マインは静的なウェブサイトであり、私はそのようにしたいと思います。 githubでホストされているバックエンドは必要ありません。だから私はこれにJSソリューションが必要です。