Send form data and file data by AJAX + PHP

0

I have a registration form and a separate upload work well but I want to click on the register button save the registration data in the database and in turn upload the selected files to the server, this is the code of ajax that I use for each one, could you please tell me how I can get back one of them, thanks in advance:

$.ajax({
        type:'POST',
        url:url,
        data: $('#formulario').serialize(), 
        success: function(registro){
            if ($('#pro').val() == 'Registro'){
            $('#formulario')[0].reset();
            $('#agrega-registros').html(registro);
            return false;
            }else if ($('#pro').val() == 'Edicion'){
            $('#mensaje').addClass('bien').html('Edicion completada con exito').show(200).delay(2500).hide(200);
            $('#agrega-registros').html(registro);
            return false;
            }else{
                return false;
            }
        }
    });

function SubirFotos(){  
        var archivos = document.getElementById("archivos");//Creamos un objeto con el elemento que contiene los archivos: el campo input file, que tiene el id = 'archivos'
        var archivo = archivos.files; //Obtenemos los archivos seleccionados en el imput
        //Creamos una instancia del Objeto FormDara.
        var archivos = new FormData();
        /* Como son multiples archivos creamos un ciclo for que recorra la el arreglo de los archivos seleccionados en el input
        Este y añadimos cada elemento al formulario FormData en forma de arreglo, utilizando la variable i (autoincremental) como 
        indice para cada archivo, si no hacemos esto, los valores del arreglo se sobre escriben*/
        for(i=0; i<archivo.length; i++){
        archivos.append('archivo'+i,archivo[i]); //Añadimos cada archivo a el arreglo con un indice direfente
        }

        /*Ejecutamos la función ajax de jQuery*/        
        $.ajax({
            url:'../php/subir.php', //Url a donde la enviaremos
            type:'POST', //Metodo que usaremos
            contentType:false, //Debe estar en false para que pase el objeto sin procesar
            data:archivos, //Le pasamos el objeto que creamos con los archivos
            processData:false, //Debe estar en false para que JQuery no procese los datos a enviar
            cache:false //Para que el formulario no guarde cache
        }).done(function(msg){//Escuchamos la respuesta y capturamos el mensaje msg
            MensajeFinal(msg)
        });
    }
    
asked by John Ortiz 26.02.2018 в 14:47
source

0 answers