Google-amp-form
Google AMP-フォーム
この章では、Google AMPでフォームを操作する方法について説明します。
formsタグは、標準のHTMLと同じままであることに注意してください。 AMPでは、フォームの使用に特別な制限が追加されたため、フォームを操作するにはamp-form JavaScriptファイルを追加する必要があります。
amp-formのスクリプト
AMPページでフォームを使用するには、上記のスクリプトをlファイルに含める必要があります。 amp-form JavaScriptファイルは、フォーム送信のために http および xmlhttprequest をサポートします。 HTTPリクエストを使用するとページがリロードされ、 xmlhttprequest を使用するとページはリロードされず、ajaxリクエストのように動作します。
AMPのフォームタグ
Amp-formは特別な属性、つまり submit-error および submit-success を提供して、フォームの送信時にエラーと成功を処理します。
例
amp-formの例を以下に示します-
出力
上記のコードを実行すると、次のように結果が表示されます-
次に、詳細を入力し、[送信]ボタンをクリックします。 表示される出力画面は次のとおりです-
データバインディングにamp-mustacheを使用したことを確認します。 フォームはaction-xhrすなわちxmlhttprequestを使用してフォームを送信しています。 JSON形式のデータを返す submitform.php ファイルを使用しました。
xmlhttprequestを使用してフォームを機能させるには、CORS仕様に従ってヘッダーを追加する必要があります。 submitform.phpに追加された応答ヘッダーの詳細を以下に示します-
フォームを機能させるには、値 AMP-Access-Control-Allow-Source-Origin および amp-access-controlallow-source-origin を持つ access-control-expose-headers などのヘッダーを追加する必要があります- * http://localhost:8080 *。
PHPファイルとApacheサーバーを使用していることに注意してください。 PHPファイルでは、以下に示すように必要なヘッダーを追加しました-
私たちが通常のhttpリクエストを使用する場合、以下に示すようにページがリロードされます-
httpリクエストの場合、次の形式を使用しました-
例
より良い理解のために次のコードを観察します-
出力
上記のコードを実行すると、次のように結果が表示されます-