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

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

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

FFIVE 2019-09-13 15:10:44
如何使用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表单事件,取消默认提交,序列化值,使用正确的方法和处理文件上载字段,...



查看完整回答
反对 回复 2019-09-16
?
慕慕森

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


        }
    });        });



查看完整回答
反对 回复 2019-09-16
  • 3 回答
  • 0 关注
  • 360 浏览

添加回答

举报

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