Este es un ejemplo claro de como subir una imagen al servidor sin tener que recargar la página, utilizando el método Ajax de jQuery.

jQuery

$( "#enviar" ).click(function() {

	var formData = new FormData();
	jQuery.each(jQuery('.subirimagen')[0].files, function(i, file) { formData.append('image', file); });
    
     //otros inputs
     //var nombrepadre = $('input[name=nombrepadre]').val();
     //formData.append("nombrepadre", nombrepadre);

	jQuery.ajax({
		url: "ajax/ajax.php",
		data: formData,
		cache: false,
		contentType: false,
		processData: false,
		type: 'POST',
		success: function(data){
    	
        		alert(data)	
        
   		}
	});//endajax

});//endclick

Html

<input type="file" class="subirimagen">

Php

$path = '../uploads/';

if($_FILES['image']['type'] == "image/jpeg"){

	$image_name = time().".jpg";

}else if($_FILES['image']['type'] == "image/png"){

	$image_name = time().".png";

}
        
move_uploaded_file($_FILES['image']['tmp_name'], $path.'/'.$image_name);

Si te ha sido de utilidad ¡deja un comentario! 🙂