ホームページ > ウェブフロントエンド > jsチュートリアル > Ajaxを使用してHTMLフォームデータをJSONとして送信するにはどうすればよいですか?

Ajaxを使用してHTMLフォームデータをJSONとして送信するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2024-10-19 12:18:30
オリジナル
566 人が閲覧しました

How to Transmit HTML Form Data as JSON Using Ajax?

HTML フォーム データを使用した JSON データ送信

Web 開発の領域では、HTML フォームからサーバーにデータを送信する必要がよくあります。従来の方法も存在しますが、この記事では、フォーム データを JSON オブジェクトとして送信するという代替アプローチを検討します。

課題

次のような HTML フォームがあるとします。構造:

<code class="html"><form action="myurl" method="POST" name="myForm">
  <label for="first_name">First Name:</label>
  <input type="text" name="first_name" id="fname">
  <label for="last_name">Last Name:</label>
  <input type="text" name="last_name" id="lname">
  <input value="Submit" type="submit" onclick="submitform()">
</form></code>
ログイン後にコピー

目的は、ユーザーが [送信] ボタンをクリックしたときに、このフォームに入力されたデータを JSON オブジェクトとして送信することです。

初期エラー

次のコードを使用しようとする人もいます:

<code class="javascript">var j = {
  "first_name":"binchen",
  "last_name":"heris",
};
xhr.send(JSON.stringify(j));</code>
ログイン後にコピー

ただし、このアプローチはフォーム入力から実際のデータを取得しないため失敗します。

解決案

この問題を解決する鍵は、完全なフォーム データを取得することにあります。これは、次のコードを使用して実現できます。

<code class="javascript">var formData = JSON.stringify($("#myForm").serializeArray());</code>
ログイン後にコピー

serializeArray() メソッドは、フォーム データをキーと値のペアの配列に変換します。この配列を JSON 文字列に変換することで、目的の JSON オブジェクトを取得できます。

Ajax との統合

Ajax を使用して JSON データを送信するには、次のコード:

<code class="javascript">$.ajax({
  type: "POST",
  url: "serverUrl",
  data: formData,
  success: function(){},
  dataType: "json",
  contentType: "application/json"
});</code>
ログイン後にコピー

ユーザーがフォームを送信すると、フォーム データを含む JSON オブジェクトが Ajax 経由で指定されたサーバー URL に送信されます。

このアプローチは便利な機能を提供します。 HTML フォーム データを JSON オブジェクトとして送信する効率的な方法により、Web アプリケーションの多用途性と機能性が向上します。

以上がAjaxを使用してHTMLフォームデータをJSONとして送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート