Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用Ajax和其他表单详细信息提交或发布Csv文件_Php_Html_Jquery_Ajax - Fatal编程技术网

Php 如何使用Ajax和其他表单详细信息提交或发布Csv文件

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

有一个HTML表单,其中包含输入字段名称、位置、地址、家庭成员(要上载的Csv)和提交按钮。但是当单击submit时,Csv文件数据不会传递给php。以下是参考代码

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数据的更多信息。这是否回答了您的问题?