JQuery AJAX を使用して FormData と String データを同時に送信するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-10-22 14:27:02
オリジナル
584 人が閲覧しました

How to Simultaneously Transmit FormData and String Data Using JQuery AJAX?

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 サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!