2013-03-26 61 views
3

我需要使用jQuery File Upload控件中提供的formData參數在提交時向服務器發送附加數據。 formData的默認實現是調用一個函數,該函數抓取表單中的所有控件並將它們序列化爲一個數組(使用jQuery serializeArray()方法)。jQuery文件上傳不提交額外參數

我在窗體中有控件,但是當文件上傳時,我沒有收到任何其他數據。當我通過Fiddler檢查時,請求中沒有任何內容顯示正在提交這些表單域。

是否還有其他需要做的事情才能讓這些提交?

順便說一句,這兩個環節討論FORMDATA ...

https://github.com/blueimp/jQuery-File-Upload/wiki/Submit-files-asynchronously https://github.com/blueimp/jQuery-File-Upload/wiki/Options ......這一個搜索頁面FORMDATA。

對於它的價值,multipart選項設置爲true。

+2

你能提供您當前的代碼?否則我們不知道你是否錯誤地使用了插件等。 – 2013-03-26 21:14:55

回答

9

我還需要通過一個額外的參數,下面是我用什麼:

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

formData option可以用來編程設置其他形式的數據。

0

如果blueimp插件不是我的要求,我真的會推薦jquery malsup表單。

您可以使用常規的多部分表單,只需創建一個常規文件輸入字段以及您自己選擇的其他輸入字段,並且所有內容都將按照慣例提交。

參考:http://www.malsup.com/jquery/form/

代碼示例:

$('#myForm2').submit(function() { 
    $(this).ajaxSubmit(options); 
    return false; 
}); 
1

完整代碼(我修改亞西爾·提供的答案)

添加這些代碼到jquery.fileupload.js

submit: function (e, data) { 

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