Php 表单数据为空
Php FormData is null
我有一个 ID 为 formC 的表单,在提交时我调用 ajax:
var datiForm = new FormData();
var pos = [];
var i = 0;
posizioni.each(function () {
if($(this).find("input[type=checkbox]").is(":checked")){
pos[i] = $(this).find("input[type=checkbox]").data("id");
i++;
}
});
datiForm.append("nome",nome.val());
datiForm.append("cognome",cognome.val());
datiForm.append("email",email.val());
datiForm.append("telefono",telefono.val());
datiForm.append("dataNascita",dataNascita.val());
datiForm.append("titolo",titolo.val());
datiForm.append("ruolo",ruolo.find(":selected").data("ruolo"));
datiForm.append("sede",sede.find(":selected").data("sede"));
datiForm.append("posizione",pos);
datiForm.append("cvFile",$("#cvFile")[0].files[0]);
$.ajax({
type: "POST",
data: {datiForm: datiForm},
url: "saveCandidate.php",
processData: false,
contentType: false,
success: function (data) {
console.log(data);
},
error: function (data) {
var position = data;
}
});
我有一个问题,服务器上的 $datiForm = $_POST["datiForm"];
是空的,为什么?
此外,我有输入文件,我可以在其中 select 归档 pdf。我把它放在 FormData:
datiForm.append("cvFile",$("#cvFile")[0].files[0]);
现在在服务器上,我想从 $datiForm 获取文件并将其保存到 mysql 中,因为 Blob 是可能的吗?
您需要将 'contentType' 属性指定为 'multipart/form-data' 才能上传文件。
您指定的数据字段不正确,它应该只是表单数据对象
data: datiForm,
您添加 posizione
的方式也行不通,必须单独添加 yrh 数组中的每个条目
posizioni.each(function () {
if($(this).find("input[type=checkbox]").is(":checked")){
datiForm.append("posizione["+i+"]", $(this).find("input[type=checkbox]").data("id"));
i++;
}
});
Now on server i want to take file from $datiForm and save it into mysql as Blob is possible?
是
我有一个 ID 为 formC 的表单,在提交时我调用 ajax:
var datiForm = new FormData();
var pos = [];
var i = 0;
posizioni.each(function () {
if($(this).find("input[type=checkbox]").is(":checked")){
pos[i] = $(this).find("input[type=checkbox]").data("id");
i++;
}
});
datiForm.append("nome",nome.val());
datiForm.append("cognome",cognome.val());
datiForm.append("email",email.val());
datiForm.append("telefono",telefono.val());
datiForm.append("dataNascita",dataNascita.val());
datiForm.append("titolo",titolo.val());
datiForm.append("ruolo",ruolo.find(":selected").data("ruolo"));
datiForm.append("sede",sede.find(":selected").data("sede"));
datiForm.append("posizione",pos);
datiForm.append("cvFile",$("#cvFile")[0].files[0]);
$.ajax({
type: "POST",
data: {datiForm: datiForm},
url: "saveCandidate.php",
processData: false,
contentType: false,
success: function (data) {
console.log(data);
},
error: function (data) {
var position = data;
}
});
我有一个问题,服务器上的 $datiForm = $_POST["datiForm"];
是空的,为什么?
此外,我有输入文件,我可以在其中 select 归档 pdf。我把它放在 FormData:
datiForm.append("cvFile",$("#cvFile")[0].files[0]);
现在在服务器上,我想从 $datiForm 获取文件并将其保存到 mysql 中,因为 Blob 是可能的吗?
您需要将 'contentType' 属性指定为 'multipart/form-data' 才能上传文件。
您指定的数据字段不正确,它应该只是表单数据对象
data: datiForm,
您添加 posizione
的方式也行不通,必须单独添加 yrh 数组中的每个条目
posizioni.each(function () {
if($(this).find("input[type=checkbox]").is(":checked")){
datiForm.append("posizione["+i+"]", $(this).find("input[type=checkbox]").data("id"));
i++;
}
});
Now on server i want to take file from $datiForm and save it into mysql as Blob is possible?
是