hola amigos. tengo un ejemplo de como subir archivos mediante $.ajax(). el ejemplo funciona.
El detalle es que solo funciona con el input type file.
y necesito tambien agregar un formulario
aqui le dejo el ejemplo. por favor necesito su ayuda.
index.html
Código HTML:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="js/jquery-1.7.2.min.js" ></script> <script type="text/javascript"> function uploadAjax(){
var form = $('#form1').serialize();//
/*alert('Datos serializados: '+form);*/
var inputFileImage = document.getElementById("archivoImage");
var file = inputFileImage.files[0];
var data = new FormData();
data.append("archivo",file);
var url = "upload.php";
$.post('variables.php', $("#form1").serialize());
$.ajax({
url:url,
type:"POST",
dataType: 'json',
contentType:false,
data:data,//
processData:false,
cache:false
}).done(function(respuesta){
alert(respuesta.mensaje);
});
}
<input type="file" name="archivoImage" id="archivoImage" /> <form name="form1" method="post" action="" id="form1">
<input type="button" id="botonSubidor" onclick="uploadAjax();"/>
upload.php
Código PHP:
Ver original<?php
$upload_folder ="imagenes";
$nombre_archivo = $_FILES["archivo"]["name"];
$tipo_archivo = $_FILES["archivo"]["type"];
$tamano_archivo = $_FILES["archivo"]["size"];
$tmp_archivo = $_FILES["archivo"]["tmp_name"];
$archivador = $upload_folder . "/" . $nombre_archivo;
$respuesta = new stdClass();
$respuesta->mensaje='se subio imagen';
?>