Forms 为表单提交禁用AMP

Forms 为表单提交禁用AMP,forms,static-site,google-amp,Forms,Static Site,Google Amp,我正在一个使用AMP的现有静态站点(仅HTML和Javascript)上工作。我需要添加一个向第三方服务提交POST请求的表单。该服务只接受POST请求 当我使用普通HTML添加表单时,会出现以下错误 只有基于XHR(通过action XHR属性)的提交才支持POST请求 通过一些研究,我了解到AMP表单需要action xhr属性。将我的表单的action属性更改为action xhr会导致此错误: 响应中“访问控制允许凭据”标头的值为“”,当请求的凭据模式为“包括”时,该值必须为“真” 是否

我正在一个使用AMP的现有静态站点(仅HTML和Javascript)上工作。我需要添加一个向第三方服务提交POST请求的表单。该服务只接受POST请求

当我使用普通HTML添加表单时,会出现以下错误

只有基于XHR(通过action XHR属性)的提交才支持POST请求

通过一些研究,我了解到AMP表单需要
action xhr
属性。将我的表单的
action
属性更改为
action xhr
会导致此错误:

响应中“访问控制允许凭据”标头的值为“”,当请求的凭据模式为“包括”时,该值必须为“真”


是否有一种方法可以将表单添加到使用AMP的站点,以便表单向第三方URL提交POST请求?最好AMP根本不会干预。

以下是我用来向第三方服务(JotForm)提交AMP表单的PHP脚本:


以下是我用来向第三方服务(JotForm)提交AMP表单的PHP脚本:


您可以通过将onclick=“submit()”添加到提交按钮来手动提交表单。
这将允许您根据POST请求,通过action方法提交amp表单

例如:

<script async custom-element="amp-form" src="https://cdn.ampproject.org/v0/amp-form-0.1.js"></script>

<form method="POST" action="url/">
    <label>Name</label>
    <input type="text" name="name">
    <button type="submit" onclick="submit()" Submit</button>
</form>

名称

您可以通过向提交按钮添加onclick=“submit()”来手动提交表单。 这将允许您根据POST请求,通过action方法提交amp表单

例如:

<script async custom-element="amp-form" src="https://cdn.ampproject.org/v0/amp-form-0.1.js"></script>

<form method="POST" action="url/">
    <label>Name</label>
    <input type="text" name="name">
    <button type="submit" onclick="submit()" Submit</button>
</form>

名称

谢谢你。不幸的是,该站点没有可用的服务器端解决方案(换句话说,使用PHP不是一个选项)。我已经更新了问题,指定该站点是一个静态站点(仅HTML和Javascript)。您可以在任何服务器上托管PHP脚本-它不必位于该站点上。谢谢您。不幸的是,该站点没有可用的服务器端解决方案(换句话说,使用PHP不是一个选项)。我已经更新了这个问题,指定该站点是一个静态站点(仅HTML和Javascript)。您可以在任何服务器上托管PHP脚本-它不必位于该站点上。