首页 > web前端 > js教程 > 如何使用Ajax同时上传数据和文件?

如何使用Ajax同时上传数据和文件?

Susan Sarandon
发布: 2024-12-13 16:13:10
原创
481 人浏览过

How Can I Upload Data and Files Simultaneously Using Ajax?

使用 Ajax 以一种形式上传数据和文件

以一个 Ajax 形式上传数据和文件是 Web 应用程序中的常见要求。这里有关于如何有效完成此任务的详细说明。

问题

尝试使用 Ajax 提交数据和文件可能会很棘手,因为它们的方式不同由 jQuery 处理。 $.serialize() 将数据收集到数组中,而表单文件需要使用 new FormData()。

组合方法

合并这些方法的关键正在使用 FormData 对象。 FormData 是一个内置构造函数,允许您创建表单数据对象。该对象可以保存数据和文件,非常适合我们的目的。

示例

要组合这两种方法,请使用以下代码:

$("form#datafiles").submit(function(e) {
    e.preventDefault();
    var formData = new FormData(this);

    $.ajax({
        url: window.location.pathname,
        type: 'POST',
        data: formData,
        success: function (data) {
            alert(data)
        },
        cache: false,
        contentType: false,
        processData: false
    });
});
登录后复制

在这种情况下,#datafiles 表单包含常规数据输入和文件输入。 new FormData(this) 行使用表单数据创建一个新的 FormData 对象。

PHP 脚本

在服务器端处理上传的数据和文件,使用如下 PHP 脚本:

<?php

print_r($_POST);
print_r($_FILES);

?>
登录后复制

使用此代码,您可以使用以下方式访问表单数据和上传的文件$_POST 和 $_FILES 超全局变量。

以上是如何使用Ajax同时上传数据和文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板