ホームページ >バックエンド開発 >PHPチュートリアル >JQuery AJAX を使用して FormData と String データを同時に送信するにはどうすればよいですか?
JQuery AJAX を使用した FormData と文字列データの同時送信
FormData() を使用してファイルと文字列データの両方を送信するには、次のアプローチを検討してください。 :
新しい FormData オブジェクトを作成します:
<code class="javascript">var fd = new FormData();</code>
複数のファイルの場合、ファイル入力から選択したファイルを取得します:
<code class="javascript">var file_data = $('input[type="file"]')[0].files;</code>
ファイルをループして追加します各ファイルの一意の名前を使用して、それらを FormData に追加します。
<code class="javascript">for(var i = 0;i<file_data.length;i++){ fd.append("file_"+i, file_data[i]); }</code>
次に、jQuery の .serializeArray() を使用してファイル以外の入力データを取得します。
<code class="javascript">var other_data = $('form').serializeArray();</code>
ファイル以外の入力データを反復処理します。 -file 入力データを作成し、.append() を使用して FormData に追加します。
<code class="javascript">$.each(other_data,function(key,input){ fd.append(input.name,input.value); });</code>
最後に、データ ペイロードとして FormData を使用して AJAX リクエストを構成します。
<code class="javascript">$.ajax({ url: 'test.php', data: fd, contentType: false, processData: false, type: 'POST', success: function(data){ console.log(data); } });</code>
次のようにします。これらの手順を実行すると、FormData と JQuery AJAX を通じてファイルと文字列データの両方を効果的に同時に送信でき、必要な情報がすべてサーバーに確実に送信されます。
以上がJQuery AJAX を使用して FormData と String データを同時に送信するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。