8

我需要使用 jQuery File Upload 控件中可用的 formData 参数在提交时向服务器发送附加数据。formData 的默认实现是调用一个函数,该函数获取表单中的所有控件并将它们序列化为一个数组(使用 jQuery serializeArray() 方法)。

我的表单中有控件,但是当文件上传时,我没有得到任何额外的数据。当我通过 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。

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

You have to bind Your data to fileupload. Look at this question
Blueimp jQuery file upload, passing extra form data

于 2013-06-24T13:54:27.953 回答
0

如果 blueimp 插件不是必需的,我真的会推荐 jquery malsup 表单。

您可以使用常规的多部分表单,只需创建一个常规文件输入字段以及您自己选择的其他输入字段,所有内容都照常提交。

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

代码示例:

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