具有的现有表单post
方法在适应AMP时可能会出现问题,尤其是当它们指向外部域时。有两个问题:
在AMP中使用post
操作将请求在表单中显示JSON数据,而不会导致页面导航。当需要页面导航时,服务器应该发送AMP-Redirect-To
响应标题。当然,这对贝宝没有帮助无法在远程服务器上设置响应标头(例如。Access-Control-Allow-Origin
).我正在为WordPress开发官方AMP插件,我们有一个issue 通过引入local form proxy.
不过,您可以尝试两种解决方法。
切换到get
方法打开form
虽然这并不适用于所有情况,但有时表单提交处理程序会接受
GET
请求与
POST
. 以下是放大器中的显示方式:
<form action="https://www.paypal.com/cgi-bin/webscr" method="get" target="_top">
<input name="charset" type="hidden" value="UTF-8">
<input name="cmd" type="hidden" value="_xclick">
<input name="business" type="hidden" value="email">
<input name="undefined_quantity" type="hidden" value="1">
<input name="item_name" type="hidden" value="text">
<input name="amount" type="hidden" value="30.00">
<input name="shipping" type="hidden" value="0.00">
<input name="shipping2" type="hidden" value="0.00">
<input name="currency_code" type="hidden" value="EUR">
<input name="lc" type="hidden" value="FR">
<input type="hidden" name="submit">
<button type="submit" class="no-padding">
<amp-img src="https://www.paypal.com/fr_FR/i/btn/btn_buynow_LG.gif" width="93" height="26" alt="Acheter"></amp-img>
</button>
<amp-pixel src="https://www.paypal.com/fr_FR/i/scr/pixel.gif"></amp-pixel>
</form>
使用
amp-iframe
如果使用
get
方法不起作用,那么您可以使用的另一种解决方法是包装
form
在
amp-iframe
:
<amp-iframe width="93" height="26" sandbox="allow-forms allow-top-navigation" srcdoc=\'
<style>
html,body { margin:0; padding: 0; }
</style>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input name="charset" type="hidden" value="UTF-8">
<input name="cmd" type="hidden" value="_xclick">
<input name="business" type="hidden" value="email">
<input name="undefined_quantity" type="hidden" value="1">
<input name="item_name" type="hidden" value="text">
<input name="amount" type="hidden" value="30.00">
<input name="shipping" type="hidden" value="0.00">
<input name="shipping2" type="hidden" value="0.00">
<input name="currency_code" type="hidden" value="EUR">
<input name="lc" type="hidden" value="FR">
<input type="image" name="submit" src="https://www.paypal.com/fr_FR/i/btn/btn_buynow_LG.gif">
<img src="https://www.paypal.com/fr_FR/i/scr/pixel.gif" alt="text" width="1" height="1">
</form>
\'>
<span placeholder>Loading…</span>
</amp-iframe>
请告诉我这两种方法是否适合您。