JavaScriptはフォームデータの非同期送信を実装します

JavaScriptはフォームデータの非同期送信を実装します

この記事では、フォームデータの非同期送信を実装するためのJavaScriptの具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。

効果は以下のとおりです。

まず、HTML コードを見てみましょう。

<div class="コンテナ">
       <form class="form-horizo​​ntal" onsubmit="return false;">
           <div class="フォームグループ">
               <label class="control-label col-md-3">名前:</label>
               <div class="col-md-4">
                   <input type="type" name="txtname" value=" " class="form-control" id="txtName"/>
               </div>
           </div>
           <div class="フォームグループ">
               <label class="control-label col-md-3">性別:</label>
               <div class="col-md-4">
                   <select class="form-control" name="cboSex" id="cboSex">
                       <option>男性</option>
                       <option>女性</option>
                   </選択>
               </div>
           </div>
           <div class="フォームグループ">
               <label class="control-label col-md-3">住所:</label>
               <div class="col-md-4">
                   <textarea class="form-control" name="txtAddress" id="txtAddress"></textarea>
               </div>
           </div>
           <div class="フォームグループ">
               <button class="btn btn-primary col-md-offset-4" onclick="getVal()">フォームの値を取得します</button>
               <button class="btn btn-primary" onclick="postgetData()">データを送信</button>
               <button class="btn btn-success" onclick="getData()">データを取得</button>
           </div>
       </フォーム>
</div>

JavaScript 部分は次のとおりです。

関数 postgetData() {
            var xhr;
            if (window.XMLHttpRequest) {
                xhr = 新しい XMLHttpRequest();
            } それ以外 {
                xhr = 新しい ActiveXObject("microsoft.XMLHTTP");
            }
            xhr.open("post", "/JQuery/getDataRequest", true);
            xhr.setRequestHeader("コンテンツタイプ", "application/x-www-form-urlencoded");
            var yy = "name=" + document.getElementById("txtName")
                .value + "&sex=" + document.getElementById("cboSex")
                .value + "&address=" + document.getElementById("txtAddress").value;
            xhr.send(yy);
            xhr.onreadystatechange = 関数 () {
                xhr.status == 200 && xhr.readyState == 4 の場合 {
                    var txt = xhr.responseText;
                    コンソールログ(txt);
                }
            }
        }

xhr.send(data); //データフォームで送信されるデータ(文字列)

setRequestHeader 構文:

setRequestHeader(header,value): リクエストに HTTP ヘッダーを追加します。
ヘッダー: ヘッダーの名前を指定します
値: ヘッダーの値を指定します
1-5 AJAX - サーバー応答 XMLHttpRequest オブジェクトの responseText または responseXML プロパティを使用して、サーバーからの応答を取得します。
responseText: 応答データを文字列形式で取得します。
responseXML: 応答データを XML 形式で取得します。
onreadystatechange イベント readyState が変化するたびに、onreadystatechange イベントがトリガーされます。
readyState プロパティは、XMLHttpRequest のステータス情報を保持します。以下は、XMLHttpRequest オブジェクトの 3 つの重要なプロパティです。
onreadystatechange: readyState プロパティが変更されるたびに呼び出される関数 (または関数名) を格納します。
readyState: XMLHttpRequest の状態を保持します。 0 から 4 まで変化します。
0: リクエストは初期化されていません
1: サーバー接続が確立されました
2: リクエスト受信
3: リクエスト処理
4: リクエストが完了し、応答の準備ができました
ステータス: 200: “OK” 404: ページが見つかりません onreadystatechange イベントでは、サーバー応答を処理する準備ができたときに実行するタスクを指定します。
readyState が 4 でステータスが 200 の場合、応答の準備ができていることを意味します。

コントローラーメソッドは次のとおりです。

Request.Form(送信方法はpost)

パブリックアクション結果 getDataRequest()
        {
            文字列名 = Request.Form["名前"];
            文字列 性別 = Request.Form["性別"];
            文字列アドレス = Request.Form["アドレス"];
            string str = name + "&" + sex + "&" + address + "&" + "リクエストは投稿データのみ受信できます";
            Content(str)を返します。
        }

これにより、フォーム内のデータが送信されます。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • jquery.form.js 非同期フォーム送信の詳細な説明
  • Extjs フォーム入力ボックス非同期検証プラグイン実装方法
  • 純粋なJavaScript Ajaxを使用してPHPで非同期フォーム送信を実装する簡単な例
  • JavaScriptは非同期検証フォームを同期フォームに書き換えます
  • Javascript非同期フォーム送信、画像アップロード、非同期シミュレーションAjaxテクノロジーと互換性あり
  • JavaScriptはフォームデータの非同期取得を実装します

<<:  VirtualBox を使用して Mac 上にローカル仮想マシン環境を構築する方法

>>:  Windows 環境に mysql-8.0.11-winx64 をインストールする際に発生する問題を解決する

推薦する

MYSQL トランザクション チュートリアル Yii2.0 マーチャント引き出し機能

序文私はプログラマーとしてスタートした PHP プログラマーです。これまで、トレーニング コースで勉...

適応分析と応答分析の違いを専門用語で詳しく説明

日々の開発経験と関連するオンライン情報に基づいて、アダプティブとレスポンシブの違いをシンプルでわかり...

MySQLデータベース入門:データベースバックアップ操作の詳細な説明

目次1. 単一データベースのバックアップ2. 圧縮バックアップ3. マルチデータベースバックアップ4...

LinuxシステムにTomcatをインストールし、サービスの起動とシャットダウンを構成する

Linuxシステムでサービスの起動とシャットダウンを構成する1. コマンドcd /etc/init....

Mysql general_log をクリーンアップする方法の概要

方法1: グローバル general_log を 'OFF' に設定します。 テーブ...

Linux で Squid プロキシ サーバーを構築するための完全な手順

序文この記事では、Linux で Squid プロキシ サーバーを設定することに関する関連コンテンツ...

Vue で ToDo アプリケーションを実装する例

背景まず最初に、私はフロントエンド開発の専門家ではないことを述べておきたいと思います。私の以前のコン...

jsの継承の6つの方法を詳しく解説

プロトタイプチェーン継承プロトタイプ継承は、ECMAScript における主な継承方法です。基本的な...

構造とプレゼンテーションの分離を理解するためのWeb標準の学習

Web 標準について議論するときに必ず話題になるのは、構造とプレゼンテーションを分離することの重要性...

JavaScriptはeコマースプラットフォームの製品詳細を実装します

この記事では、電子商取引プラットフォームで商品の詳細を表示する一般的な例を紹介します。たとえば、ある...

DockerでRedisを使用するための詳細な手順

1. はじめにこの記事では、Docker を使用して Redis を探索する方法を説明します。 Do...

MySQL 8.0 エラー サーバーがクライアントに不明な認証方法を要求しました 解決策

最新バージョンのMySQL 8.0.11をインストールした後、ユーザーを作成して認証します。認証され...

JavaScript JSON.stringify() の使用法の概要

目次1. 使用方法1. 基本的な使い方2. 2番目のパラメータ - フィルター3. 3番目のパラメー...

MySQL binlog を開く手順

Binlog は、MySQL データの変更を記録するために使用されるバイナリ ログ ファイルです。B...

ES6 の Set および WeakSet コレクションの詳細な説明

目次セットは値が重複しない特別なコレクションです。セットコレクション基本API独自の価値判断セットを...