ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript を使用して POST リクエストを動的に送信するにはどうすればよいですか?

JavaScript を使用して POST リクエストを動的に送信するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-20 21:46:13576ブラウズ

How to Dynamically Submit a POST Request Using JavaScript?

動的フォームを作成し、POST リクエストを送信する

JavaScript では、多くの場合、POST リクエストを使用してサーバーにデータを送信する必要があります。ただし、リソースが適切な応答を得るためにフォームの送信を必要とする場合は、フォームの送信を動的にシミュレートする方法が必要です。

XMLHttpRequest の使用

XMLHttpRequest は、次の目的で使用される一般的なメソッドです。非同期 HTTP リクエスト。ただし、フォーム データをネイティブに処理するように設計されていないため、フォームの送信には最適ではありません。

入力要素を動的に作成する

クロスブラウザ ソリューションには、入力要素を動的に作成することが含まれます。そしてそれらをフォームに追加します。その後、このフォームをプログラムで送信できます。

/**
 * sends a request to the specified url from a form. this will change the window location.
 * @param {string} path the path to send the post request to
 * @param {object} params the parameters to add to the url
 * @param {string} [method=post] the method to use on the form
 */
function post(path, params, method='post') {
  const form = document.createElement('form');
  form.method = method;
  form.action = path;

  for (const key in params) {
    if (params.hasOwnProperty(key)) {
      const hiddenField = document.createElement('input');
      hiddenField.type = 'hidden';
      hiddenField.name = key;
      hiddenField.value = params[key];

      form.appendChild(hiddenField);
    }
  }

  document.body.appendChild(form);
  form.submit();
}

使用法

この関数を使用して、フォームを動的に作成して送信することで POST リクエストを送信できます。

post('/contact/', {name: 'Johnny Bravo'});

以上がJavaScript を使用して POST リクエストを動的に送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。