HTML フォーム データから JSON オブジェクトを作成する
Web 開発の領域では、データをサーバーにシームレスに送信することが重要です。 HTML フォームを扱う場合、データを JSON 形式で伝達する必要が生じる場合があります。この記事では、障害に遭遇することなくこれを達成するための最適なアプローチについて詳しく説明します。
次の HTML フォームを例として考えてみましょう:
私たちの目的は、このフォームのデータを JSON オブジェクトに変換し、フォーム送信時にサーバーに送信することです。
最初は、次のコード:
function submitform(){
var xhr = new XMLHttpRequest();
xhr.open(form.method, form.action, true);
xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
var j = {
"first_name":"binchen",
"last_name":"heris",
};
xhr.send(JSON.stringify(j));
}
しかし、このアプローチには重大な欠陥があるため不十分です。フォームからデータを取得する代わりに、サンプル JSON オブジェクトを手動で作成しました。これを修正するには、フォーム データを動的に収集する必要があります。
解決策は、jQuery の機能を利用してフォーム データを配列として抽出し、それを JSON 文字列に変換することです。
var formData = JSON.stringify($("myForm").serializeArray());
このコード行は事実上フォームからすべてのデータを取得し、それを目的の JSON 形式に変換します。その後、この JSON 文字列を AJAX リクエストで利用するか、AJAX がオプションでない場合は、それを非表示のテキストエリアに組み込み、従来のようにフォームを送信できます。
さらに、データを JSON 文字列として送信する場合は、標準の HTML フォーム経由では、配列形式の個々のデータ ポイントにアクセスするにはサーバー側でデコードする必要があることに注意してください。
このアプローチに従うことで、簡単に次のことができます。 HTML フォームから JSON オブジェクトを送信し、シームレスなデータ送信と効率的なサーバー通信を保証します。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3