Hola a todos.
Estoy intentando cargar un archivo al servidor utilizando la función $.ajax pero me sale un error y no se como hacer que funcione. El error es como si no existieran las variables que contienen el nombre del archivo y su nombre temporal.
bueno les mando el código para que lo vean
el codigo javascript
Código:
<script type="text/javascript" language="javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
Código:
<script type="text/javascript" language="javascript">
$(document).ready(function(){
//objetos del dom que uso con frecuencia
var img_cargando = $(".cargando_promo");
var cont_destino = $("#destino");
var formulario = $('#formulario');
//asignación de evento
formulario.submit(function(evento){
evento.preventDefault(); //no enviar el formulario
img_cargando.show(); //mostrar cargando
//generar datos
var datos = formulario.serialize();
//pedido ajax
var pedido = $.ajax({
url : 'archivo.php',
data : datos,
cache : false,
type : 'POST'
});
//cuando el pedido esté listo...
pedido.done(function(resultado){
img_cargando.hide(); //ocultar cargando
cont_destino.html(resultado); //cargar el resultado
});
//limpiar el formulario
formulario.each(function(){
this.reset();
});
});
});
</script>
Este es el archivo.php
Código PHP:
$imagen = $_FILES['txtImg']['name'];
$origen = $_FILES['txtImg']['tmp_name'];
$destino = "img/".$imagen;
move_uploaded_file($origen,$destino);
echo $imagen." ".$origen;
Este es el formulario.
Código HTML:
<form action="" method="post" enctype="multipart/form-data" name="formulario" id="formulario">
<table width="50%" align="center">
<tr>
<td width="32%"><p>Selecione la Imagen:</p></td>
<td width="68%"><input type="file" name="txtImg" class="requerido"/></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="btModificar" value="Modificar Promoción" class="boton"/><div class="cargando_promo"><img src="../img/load-user.gif" width="16" height="16" alt="load" /></div></td>
</tr>
</table>
</form>
<div class="destino" id="destino"></div>
Agradecería su ayuda