Using jQuery ajax to upload file and form data with formData()
24,063
You can pretty easy. Take a look at these posts:
Author by
SoldierCorp
Full-stack web and mobile developer Portfolio: https://edgardorl.com Youtube: http://youtube.com/SoldierCorp0
Updated on November 22, 2020Comments
-
SoldierCorp over 3 years
I want upload a file with jquery ajax and php using forData() with this code:
var data = new FormData(); data.append('image',document.getElementById('uFile').files[0]); data.append('tag','saveDocument'); data.append('data',$('#saveDocument').serializeArray()); $.ajax({ url: url, type: 'post', data: data, cache: false, contentType:false, dataType: 'json', processData: false, success: function (data) { setAlert("Documento guardado correctamente!",success); }, error: function() { setAlert("Ha ocurrido un error al guardar!",error); } }); return false;
This line contains all data of fields in my form:
data.append('data',$('#saveDocument').serializeArray());
But in PHP I can't access to that data and I want access to data of form to insert on a table, do you know what's the problem?
Html Form
<form id="saveDocument" enctype="multipart/form-data" method="post"> <p><i>Todos los campos son requeridos!</i></p> <p> <input id="uName" class="uName span5" name="uName" type="text" placeholder="Nombre completo" required/> </p> <p> <input id="uEmail" class="uEmail span5" name="uEmail" type="email" placeholder="E-mail" required/> </p> <p> <select id="uDept" class="uDept span5" name="uDept" type="text" required> <option value="0">Seleccione departamento</option> <option value="1">Dirección</option> <option value="2">Recursos Humanos</option> <option value="3">Oficina</option> </select> </p> <p> <input id="uIssue" class="uIssue span5" name="uIssue" type="text" placeholder="Asunto" required/> </p> <p> <textarea id="uComment" class="uComment" name="uComment" placeholder="Comentario (Máximo 30 caracteres)" required></textarea> </p> <p> <select id="uUrgency" class="uUrgency span5" name="uUrgency" type="text" required> <option value="0">Seleccione urgencia</option> <option value="1">Normal</option> <option value="2">Alta</option> <option value="3">Urgente</option> </select> </p> <p> <input id="uFile" class="uFile span5" name="uFile" type="file" required/> <input id="nameFile" class="nameFile span5" name="nameFile" type="text" placeholder="Click para seleccionar el archivo" onClick="$('.uFile').click();"/> </p> <p> <input class="btn btn-danger" type="reset" value="Limpiar"/> <input id="sendFile" class="btn btn-primary" type="submit" value="Guardar"/> </p>
The below image is taken from developers tool of chrome: