php不接收来自ajax FormData的数据

php not receives data from ajax FormData

我试图通过jquery-ajax(使用formdata)将多个数据和文件发送到一个php文件,但是我没有接收到php文件中的任何内容,既不接收$u post也不接收$u文件数据,两者都接收到空值。

这是我的Ajax函数。

1
2
3
4
5
6
7
8
9
10
11
12
13
$('#formulario').submit(function(e){
    e.preventDefault();
    $.ajax({
        url:"../phpfile.php",
        type:"POST",
        dataType:"JSON",
        data: new FormData(this),
        processData: false,
        contentType: false
    }).always(function(respuesta){
        //code
    });
});

这是我的HTML

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<form enctype="multipart/form-data" method="POST">
                       
                           
                                <h4>Destinatarios</h4>
                                <select class='form-control' required name='destinatarios[]' title='Selecciona cuantos quieras' multiple data-selected-text-format="count>2" data-live-search="true">
                                    {%for familiar in familia%}
                                        <option value='{{familiar.ID_PERSONA}}'>{{familiar.NOMBRE}} {{familiar.APELLIDOS}}</option>
                                    {%endfor%}
                                </select>
                           
                           
                                <h4>Tipo de entrega</h4>
                                <select class='form-control' id='entrega' name='entrega'>
                                        <option value='1' selected></option>
                                </select>
                           
                       
                       
                       
                           
                               
                                   
                                       
                                           
                                                <h4>Despues de mi partida</h4>
                                                <input type="radio" value="muerte" name="tipoE" onchange="cambioR(this)">
                                           
                                           
                                                <h4>En fecha determinada</h4>
                                                <input type="radio" value="fecha" name="tipoE" onchange="cambioR(this)">
                                           
                                           
                                                <h4>En mi ceremonia de despedida</h4>
                                                <input type="radio" value="ceremonia" name="tipoE" onchange="cambioR(this)">
                                           
                                       
                                       
                                       
                                           
                                               
                                                   
                                                        <span class="input-group-addon">Fecha</span>
                                                        <input type="text" class="form-control date" placeholder="dd/mm/yyyy" name="fecha" id="fecha">
                                                   
                                                   
                                               
                                           
                                           
                                               
                                                   
                                                        <span class="input-group-addon">as después de mi partida</span>
                                                        <input class="form-control" id="muerte" name="muerte">
                                                   
                                                   
                                               
                                           
                                       
                                   
                               
                           
                       
                       
                           
                                <h4>Mensaje</h4>
                                <input class="hidden" id="nombre_mensaje" name="nombre_mensaje">
                                <textarea class="form-control" rows="10" style="resize: none" id='mensaje' name='mensaje' required></textarea>
                               
                           
                       
                       
                           
                                <h4>Imágenes / Video / Audio / Archivos</h4>
                               
                                   
                                        <img src="../Recursos/imagenes/plus.jpg" width="100%;">
                                        <input class="hidden" type="file" onchange="cambio(this);" name="files[]">
                                        <input class="hidden datas" name="data_multimedia[]" value="0">
                                   
                               
                           
                       
                        <input class="hidden" id="id_mensaje" name="id_mensaje">
                        <input type="reset" id="reiniciar" hidden>
                    </form>

用户可以上传任意多个文件,HTML输入文件通过jquery进行常规添加。


尝试更换:

1
new FormData(this);

用:

1
$('#formulario').serialize();