如何使用jquery序列化进行文件上传所以我有一个表单,我使用jquery序列化函数通过ajax提交表单 serialized = $(Forms).serialize();
$.ajax({
type : "POST",
cache : false,
url : "blah",
data : serialized,
success: function(data) {
}但是如果表单有一个<input type="file">字段怎么办....如何使用这个ajax序列化方法将文件传递给表单...打印$ _FILES不输出任何内容
3 回答
撒科打诨
TA贡献1934条经验 获得超2个赞
无法使用AJAX上传文件,因为您无法访问存储在客户端计算机上的文件的内容,并使用javascript将其发送到请求中。实现此目的的技巧之一是使用隐藏的iframe。有一个很好的jquery表单插件,允许您AJAXify您的表单,它也支持文件上传。因此,使用此插件,您的代码将如下所示:
$(function() { $('#ifoftheform').ajaxForm(function(result) { alert('the form was successfully processed'); });});
该插件自动负责订阅submit
表单事件,取消默认提交,序列化值,使用正确的方法和处理文件上载字段,...
慕慕森
TA贡献1856条经验 获得超17个赞
它适用于任何类型的表单
$(document).on("submit", "form", function(event){ event.preventDefault(); var url=$(this).attr("action"); $.ajax({ url: url, type: $(this).attr("method"), dataType: "JSON", data: new FormData(this), processData: false, contentType: false, success: function (data, status) { }, error: function (xhr, desc, err) { } }); });
- 3 回答
- 0 关注
- 399 浏览
添加回答
举报
0/150
提交
取消