4

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:

enter image description here

1 Answer 1

1

You can pretty easy. Take a look at these posts:

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.