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?