<p>Buenas... Tengo una inquietud, quiero saber cómo enviar arhivos por ajax, a que me refiero, quiero enviar una imagen a través de ajax a una pagina de php, gracias...</p>
<p>Suponiendo que tenés un formulario HTML como el siguiente:</p><pre><form enctype="multipart/form-data"><br /> <input name="file" type="file" /><br /> <input type="button" value="Subir archivo" /><br /></form></pre><p>Con Javascript (Jquery) podrías hacer lo siguiente:</p><pre>$(':button').click(function(){<br /> var formData = new FormData($('form')[0]);<br /> $.ajax({<br /> url: 'subir.php', // Aca la dirección dónde procesarás el archivo que se suba.<br /> type: 'POST',<br /> success: function() { ... El archivo se subió correctamente ... },<br /> data: formData, // esto es importante<br /> cache: false,<br /> contentType: false,<br /> processData: false<br /> });<br />});</pre><p><span>En este ejemplo lo que se hace es crear un objeto FormData y agregarle los campos del formulario que querés enviar <span style="font-weight:bold;">incluyendo</span> el archivo. Luego solo se hace un envío por ajax normal.</span><br /></p><p><span>También es muy importante que no te olvides de poner enctype="multipart/form-data" en tu formulario. Sino no se enviará ningún archivo.<br />Espero que te ayude esta respuesta.</span></p><p><span>Un Saludo!</span></p>