为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用jquery序列化进行文件上传

如何使用jquery序列化进行文件上传

富国沪深 2019-07-25 09:32:58
如何使用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贡献1155条经验 获得超0个赞

无法使用AJAX上传文件,因为您无法访问存储在客户端计算机上的文件的内容,并使用javascript将其发送到请求中。实现此目的的技巧之一是使用隐藏的iframe。有一个很好的jquery表单插件,允许您AJAXify您的表单,它也支持文件上传。因此,使用此插件,您的代码将如下所示:

$(function() {
    $('#ifoftheform').ajaxForm(function(result) {
        alert('the form was successfully processed');
    });});

该插件自动负责订阅submit表单事件,取消默认提交,序列化值,使用正确的方法和处理文件上载字段,...


查看完整回答
反对 回复 2019-07-25
?
守候你守候我

TA贡献1802条经验 获得超10个赞

它适用于任何类型的表单

$(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)
        {


        }
    });        });


查看完整回答
反对 回复 2019-07-25
  • 3 回答
  • 0 关注
  • 557 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信