8

送信時にサーバーに追加のデータを送信するには、jQueryファイルアップロードコントロールで使用可能なformDataパラメーターを使用する必要があります。formDataのデフォルトの実装は、フォーム内のすべてのコントロールを取得し、それらを配列にシリアル化する関数を呼び出すことです(jQuery serializeArray()メソッドを使用)。

フォームにコントロールがありますが、ファイルがアップロードされたときに、追加のデータを取得していません。Fiddlerを介して検査すると、これらのフォームフィールドが送信されていることを示すリクエストには何もありません。

これらを提出させるために行う必要のある追加の何かがありますか?

ところで、これらの2つのリンクはformDataについて説明しています...

https ://github.com/blueimp/jQuery-File-Upload/wiki/Submit-files-asynchronouslyhttps: //github.com/blueimp/jQuery-File-Upload/wiki/Options ...これについてはformDataのページ。

その価値については、multipartオプションはtrueに設定されています。

4

4 に答える 4

16

また、追加のパラメーターを渡す必要がありました。これが私が使用したものです。

$('#fileupload').fileupload({
    formData: {
                    param1: 'test'
                    ,param2: "value2"
                    ,param3: "yasseshaikh"
              }
});

formDataオプションを使用して、プログラムで追加のフォームデータを設定できます。

于 2013-11-05T06:43:29.820 に答える
2

完全なコード(Yasserから提供された回答を変更しました)

これらのコードをjquery.fileupload.jsに追加します

submit: function (e, data) {

    $('#fileupload').fileupload({
          formData: {
                 param1: 'test'
                ,param2: "value2"
                ,param3: "yasseshaikh"
          }
    });
},
于 2013-12-30T11:35:03.933 に答える
0

blueimpプラグインが要件でない場合は、jquerymalsupフォームをお勧めします。

通常のマルチパートフォームを使用して、通常のファイル入力フィールドを他の任意の入力フィールドと一緒に作成するだけで、すべてが通常どおりに送信されます。

参照: http: //www.malsup.com/jquery/form/

コードサンプル:

$('#myForm2').submit(function() { 
    $(this).ajaxSubmit(options); 
    return false; 
}); 
于 2013-03-26T21:29:01.170 に答える
0

データをfileuploadにバインドする必要があります。この質問を見てください
BlueimpjQueryファイルのアップロード、追加のフォームデータの受け渡し

于 2013-06-24T13:54:27.953 に答える