php - 如何使用 Ajax 提交或发布 Csv 文件以及其他表单详细信息
问题描述
有一个 HTML 表单,其中包含输入字段名称、位置、地址、家庭成员(要上传的 Csv)和一个提交按钮。但是当点击提交时,Csv 文件数据没有被传递给 php.ini。以下是供参考的代码,
var formData = new FormData($('.AdvFrm')[0]);
$.ajax({
type: "POST",
method: "POST",
url: "test.php",
data: formData.serialize(),
cache: false,
contentType: false,
processData: false,
enctype: 'multipart/form-data',
success: function(data) {}
});
解决方案
我不知道你为什么把你的数据放在 FormData 部分然后序列化它?它应该返回错误,因为没有serialize
FormData 的方法。
我猜你刚刚在第一行将它从 jQuery 序列化对象更改为 FormData。
在您的情况下,您需要做的就是更改formData.serialize()
为formData
var formData = new FormData($('.AdvFrm')[0]);
$.ajax({
type: "POST",
method: "POST",
url: "test.php",
data: formData,
cache: false,
contentType: false,
processData: false,
enctype: 'multipart/form-data',
success: function(data) {}
});
如果您的 formData 对象不包含详细信息,您应该像这样添加它:
var formData = new FormData();
var file = $('#file').val(); // Remember to put an id to your file <input type="file" id="file" />
formData.append('file', file);
推荐阅读
- typescript - 如何使用与 sequelize-typescript 的多对多关联?
- minecraft - Minecraft Spigot 服务器错误:在 x、y、z 处的块是 Block{minecraft:block} 但有 net.minecraft.world.level.block.entity.TileEntityChest
- elasticsearch - 使用elasticsearch 7实现指数退避重试的最佳方法
- sql - 我可以在 postgres 语句中的公式上使用过滤器吗?
- android - 查询 Mediastore.Download 表,但没有结果
- arrays - 如何在不破坏我的结构的情况下将特定单元格排除到 BigQuery 中的数组数组中?
- python - 无法在 PyCharm 中的 Django 模型管理器上自动完成
- html - HTML/CSS 表格垂直边距
- multilabel-classification - AutoKeras 结构化数据分类类
- touch - Google Home 中 REMOTECONTROL 的触控不会改变