PHP フォーム送信: AJAX 非同期送信とデータ処理

王林
リリース: 2023-08-07 17:32:02
オリジナル
916 人が閲覧しました

PHP フォーム送信: AJAX 非同期送信とデータ処理

PHP フォーム送信: AJAX 非同期送信とデータ処理

Web アプリケーションの開発に伴い、フォーム送信は Web サイト開発における重要なリンクの 1 つになりました。従来のフォーム送信方法では、ページを更新することでデータの送信と処理を完了します。ただし、この方法ではページが更新されるため、ユーザーに不快感を与えます。ユーザー エクスペリエンスと Web サイトのパフォーマンスを向上させるために、AJAX テクノロジーを使用して非同期フォームの送信とデータ処理を行うことができます。

この記事では、PHP と AJAX テクノロジを使用してフォームの非同期送信とデータ処理を実装する方法を紹介し、対応するコード例を示します。

AJAX によるフォーム データの非同期送信

まず、HTML フォームを作成し、非同期送信用のボタンを追加する必要があります。コード例は次のとおりです。

ログイン後にコピー

上の例では、ID「myForm」のフォームを使用し、ID「submitBtn」の属性を送信ボタンに追加します。

次に、JavaScript を使用してボタンのクリック イベントをリッスンし、フォーム データをサーバーに送信する必要があります。コード例は次のとおりです。

document.getElementById("submitBtn").addEventListener("click", function() { var form = document.getElementById("myForm"); var formData = new FormData(form); var xhr = new XMLHttpRequest(); xhr.open("POST", "process.php", true); xhr.send(formData); });
ログイン後にコピー

上の例では、addEventListener メソッドを使用してボタン クリック イベントをリッスンします。ボタンがクリックされると、FormData オブジェクトを使用してフォーム データを収集し、XMLHttpRequest オブジェクトを作成してデータをサーバーに送信します。

PHP データ処理

サーバーは受信したフォーム データを処理し、対応する結果を返します。フォーム データを新しい PHP ファイルで処理できます。コード例は次のとおりです。

 true, "message" => "表单数据提交成功!"); echo json_encode($response); ?>
ログイン後にコピー

上の例では、$_POST グローバル変数を通じてフォーム データを取得します。次に、データの有効性の検証、データベースへのデータの保存など、フォーム データに対してさらに処理を実行できます。

最後に、echo ステートメントを使用して、フロントエンド ページの対応する処理の処理結果を含む JSON 文字列を返します。

フロントエンド データ処理

フロントエンド ページでは、処理結果を表示する要素を追加できます。コード例は次のとおりです。

ログイン後にコピー

JavaScript コードでは、XMLHttpRequest オブジェクトのreadystatechange イベントをリッスンすることでサーバーから返されたデータを取得し、結果をページに表示できます。コード例は次のとおりです:

xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { var result = JSON.parse(xhr.responseText); var message = result.message; document.getElementById("result").innerHTML = message; } };
ログイン後にコピー

上記の例では、readyState 属性と status 属性を使用して、リクエストが完了したかどうかを判断します。リクエストが完了し、応答が成功した場合は、JSON を使用します。 parse メソッドを使用してサーバーから返された JSON 文字列を解析し、結果をページに表示します。

これまでに、AJAX を使用してフォーム データを非同期に送信し、サーバー側で処理するプロセス全体が完了しました。このようにして、ユーザーはページが更新されるのを待つ必要がなく、リアルタイムでデータ処理結果を取得できるため、Web サイトのユーザー エクスペリエンスとパフォーマンスが向上します。

結論

この記事では、PHP と AJAX テクノロジを使用してフォームの非同期送信とデータ処理を実装する方法を紹介し、対応するコード例を示します。あなたのウェブサイト開発に役立つことを願っています!

以上がPHP フォーム送信: AJAX 非同期送信とデータ処理の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!