所以我有一个表单,我使用jquery序列化函数通过ajax提交表单

        serialized = $(Forms).serialize();

        $.ajax({

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

        }

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

推荐答案

无法使用AJAX上传文件,因为您无法访问存储在客户端计算机上的文件内容,并使用javascript在请求中发送它.实现这一点的技术之一是使用隐藏的iFrame.有一个很好的jquery form plugin,它允许你调整你的表单和supports file uploads.因此,使用此插件,您的代码将如下所示:

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

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

Php相关问答推荐

如何以编程方式获取eBay API的授权代码?

我的docker—compose lamp stack在软件更新后不工作:Containerconfig错误'''

在WooCommerce中禁用客户用户角色的纳税计算

从订单项目中获取ACF WooCommerce产品价值

将客户重定向到自定义感谢页后的空白页

使用php创建表格和插入数据

如何在WooCommerce产品子类别中显示特定内容

WooCommerce中基于用户角色的不同产品差价

带Redhat php curl的http_code 0

ANTLR4-lexer如何消耗更多的 token 并停止现有规则?

如何在自定义邮箱内容中获取WooCommerce订单项目的详细信息?

随机显示WordPress快捷代码功能时出现问题

execute_query 和prepare+execute 有什么区别?

htaccess 重定向子域错误的 url

如何在 php 中获取正确的时间

在 PHP 8.2 中使用 PHP Spreadsheet 和 CodeIgniter 3 导出 Excel 时出错

如何通过帖子自定义元数据进行查询

自定义主键值未正确显示

Laravel 8:会话不适用

PHP Loop 在迭代中使用修改后的数据