Php 如何使用Ajax和其他表单详细信息提交或发布Csv文件
有一个HTML表单,其中包含输入字段名称、位置、地址、家庭成员(要上载的Csv)和提交按钮。但是当单击submit时,Csv文件数据不会传递给php。以下是参考代码Php 如何使用Ajax和其他表单详细信息提交或发布Csv文件,php,html,jquery,ajax,Php,Html,Jquery,Ajax,有一个HTML表单,其中包含输入字段名称、位置、地址、家庭成员(要上载的Csv)和提交按钮。但是当单击submit时,Csv文件数据不会传递给php。以下是参考代码 var formData=new formData($('.AdvFrm')[0]); $.ajax({ 类型:“POST”, 方法:“张贴”, url:“test.php”, 数据:formData.serialize(), cache:false, contentType:false, processData:false, e
var formData=new formData($('.AdvFrm')[0]);
$.ajax({
类型:“POST”,
方法:“张贴”,
url:“test.php”,
数据:formData.serialize(),
cache:false,
contentType:false,
processData:false,
enctype:“多部分/表单数据”,
成功:函数(数据){}
});代码>我不知道为什么要将数据放在FormData部件中,然后将其序列化?它应该返回错误,因为没有FormData的序列化方法
我猜您刚刚在第一行将jQuery serialize对象更改为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);
var formData=new formData();
var file=$('#file').val();//记住在你的文件中放一个id
formData.append('file',file);
这并没有什么明显的问题(尽管enctype:“多部分/表单数据”
毫无意义)。您需要提供(包括表单的HTML)和有关如何在服务器上测试CSV数据的更多信息。这是否回答了您的问题?