jQuery文件上传不提交额外参数
我需要使用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。
我还需要传递一个额外的参数,这是我使用的:
$('#fileupload').fileupload({ formData: { param1: 'test' ,param2: "value2" ,param3: "yasseshaikh" } });
formData选项可用于以编程方式设置其他表单数据。
完整代码(我修改了Yasser提供的答案)
将这些代码添加到jquery.fileupload.js中
submit: function (e, data) { $('#fileupload').fileupload({ formData: { param1: 'test' ,param2: "value2" ,param3: "yasseshaikh" } }); },
如果blueimp插件不是必需的,我会推荐jquery malsup表单。
您可以使用常规的多部分表单,只需创建一个常规文件输入字段以及您自己选择的其他输入字段,所有内容都照常提交。
参考: http : //www.malsup.com/jquery/form/
代码示例:
$('#myForm2').submit(function() { $(this).ajaxSubmit(options); return false; });
您必须将数据绑定到fileupload。 看看这个问题
Blueimp jQuery文件上传,传递额外的表单数据
- 由blueimp进行jQuery-File-Upload – 附加标题
- jQuery File Uploader IE9不在Upload上发布任何参数
- 当动态创建文件输入时,jQuery文件上载不起作用
- 无法让jquery文件上传器出现在页面上
- Blueimp文件上传:从URL添加图像
- ajax加载的html中的多个jQuery插件实例
- 我应该返回什么来响应blueimp / jquery.file-upload-ui的删除事件上的show error消息
- 不调用Symfony 3.1和OneUpUploaderBundle + Blueimp = UploadListener
- 以编程方式将文件添加到jquery fileupload