一尘不染

如何使用jQuery序列化上传文件

php

所以我有一个表单,我正在使用jquery序列化功能通过ajax提交表单

        serialized = $(Forms).serialize();

        $.ajax({

        type        : "POST",
        cache   : false,
        url     : "blah",
        data        : serialized,
        success: function(data) {

        }

但是如果表单有一个<input type="file">字段该怎么办....我如何使用这种ajax序列化方法将文件传递到表单中…打印$
_FILES不会输出任何内容


阅读 292

收藏
2020-05-26

共1个答案

一尘不染

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

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

插件会自动处理订阅submit表单事件,取消默认提交,使用适当的方法序列化值,使用正确的方法并处理文件上传字段,…

2020-05-26