这是我想在我的 AMP 模板中添加的 Mailchimp 表单:
<div id="mc_embed_signup">
<form action-xhr="https://settler.us19.list-manage.com/subscribe/post?u=5f7443b0f4fc25de5fecb0ee2&id=c3c65d7258" method="post" id="mc-embedded-subscribe-form" name="mc-embedded-subscribe-form" class="validate" target="_blank" novalidate>
<div id="mc_embed_signup_scroll">
<label for="mce-EMAIL">Subscribe to our newsletter</label>
<input type="email" value="" name="EMAIL" class="email" id="mce-EMAIL" placeholder="email address" required>
<div style="position: absolute; left: -5000px;" aria-hidden="true"><input type="text" name="#" tabindex="-1" value=""></div>
<div class="clear"><input type="submit" value="Subscribe" name="subscribe" id="mc-embedded-subscribe" class="button"></div>
</div>
</form>
</div>
我的 AMP 已通过验证,AMP 方面一切正常,我唯一的问题是当我点击注册时出现此错误:
CORS 策略已阻止从源“XXXX”获取“XXXX”的访问权限:请求的资源上不存在“Access-Control-Allow-Origin”标头。如果不透明的响应满足您的需求,请将请求的模式设置为“no-cors”以获取禁用 CORS 的资源。
表单提交失败:错误:XHR 获取失败(https://XXXX.list-manage.com/...):获取失败...
我已经阅读了 AMP 文档中的 CORS https://amp.dev/documentation/guides-and-tutorials/learn/amp-caches-and-cors/amp-cors-requests?referrer=ampproject.org#cors-security-仪表放大器 ,我在这里阅读了很多类似问题的答案,但我的问题仍然没有解决。我的 WordPress 网站上有一个子域,我将这一行放在 .htaccess(根域和子域)中,但不幸的是,我的问题仍然存在。
<ifModule mod_headers.c>
Header set Access-Control-Allow-Origin: *
</ifModule>
并且:
<ifModule mod_headers.c>
Header set Access-Control-Allow-Origin: "*"
</ifModule>
而且我不知道我该怎么办了。