Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Agregar un ítem a un formData

Estas en el tema de Agregar un ítem a un formData en el foro de Jquery en Foros del Web. Hola con todos, les comento que tengo un código que me sube una imagen, mediante un form hasta ahí esta bien, este es el código ...
  #1 (permalink)  
Antiguo 21/01/2015, 16:34
Avatar de camargo94  
Fecha de Ingreso: octubre-2014
Ubicación: Huancayo
Mensajes: 22
Antigüedad: 9 años, 5 meses
Puntos: 0
Agregar un ítem a un formData

Hola con todos, les comento que tengo un código que me sube una imagen, mediante un form hasta ahí esta bien, este es el código del index

Código HTML:
<html>
	<div class='inputModPDF' >
		<div lass='containerModPDF' id='respuesta_img_pdf'>
		<figure>
			<img src='img/logo-pdf.jpeg?time()' alt='Logo PDF' height='100px'/>
		</figure>
		</div>
		<form method='post' id='formulario_img_pdf' enctype='multipart/form-data'>
			<input type='file' name='file' >
		</form>
		<input type='submit' value='subir' onclick='subir_imagen()'>
	</div>
		<script type="text/javascript" src="jquery-1.11.1.min.js"></script>
		<script type="text/javascript" src="ajax.js"></script>							
</html> 
el ajax que estoy usando:
Código Javascript:
Ver original
  1. function subir_imagen(id)
  2.     {
  3.             var formData = new FormData($("#formulario_img_pdf")[0]);
  4.             formData.append('part_description', 'The best part ever!'); //esto no me lo reconoce en el archivo php que mando
  5.             var datos='holas';
  6.             $.ajax({
  7.                 url: "ajax-imagen.php",
  8.                 type: "POST",
  9.                 data:formData,
  10.                 contentType: false,
  11.                 processData: false,
  12.                 success: function(datos)
  13.                 {
  14.                     $("#respuesta_img_pdf").html(datos);
  15.                 }
  16.             });
  17.      }

y el php que estoy usando para subir la imagen al hosting
Código PHP:
<?php
if (isset($_FILES["file"]))
{
    
$file $_FILES["file"];
    
$nombre "logo-pdf";
    
$tipo $file["type"];
    
$ruta_provisional $file["tmp_name"];
    
$size $file["size"];
    
$dimensiones getimagesize($ruta_provisional);
    
$width $dimensiones[0];
    
$height $dimensiones[1];
    
$carpeta "img/";
    
$aaa['a']='hola';
    
    if (
$tipo != 'image/jpg' && $tipo != 'image/jpeg' && $tipo != 'image/png' && $tipo != 'image/gif')
    {
      echo 
"Error, el archivo no es una imagen"
    }

    else
    {
            
$do=unlink("img/logo-pdf.jpeg");     
        try 
        {
            
            @
$extencionend(explode("/",$tipo));
            
$src $carpeta.$nombre.'.'.$extencion;
            
move_uploaded_file($ruta_provisional$src);
            echo 
"<figure><img src='img/logo-pdf.".$extencion."?".time()."' height='100px'/></figure><br>";
            echo 
$aaa['a']."<br>";

            echo 
$file['part_description'];  //intento imprimir el dato de prueba
        

        catch (
Exception $e
        {
            echo 
"Error al subir archivo."
        }
        
    }
}
?>
por lo que se observa mando los datos de la imagen con un formData, pero ahora lo que quiero es agregar mas datos a ese formData para poder hacer consultas en mysql, por ejemplo agregarle la llave primaria, contenido , descripción ,etc para poder actualizar o agregar una fila en mi base de datos, e intensado con un appenData, pero no me a funcionado.

gracias de antemano y disculpen mis horrores ortográficos :) .
  #2 (permalink)  
Antiguo 21/01/2015, 17:29
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Agregar un ítem a un formData

Hola:

Un formData recoge un formulario completo, así que todos los campos que declares y tengas en el formulario se envía,... en vez de tener solamente un campo file, podrías tener todos los campos que necesites.

Por cierto, tenemos un foro para consultas de jquery, y tu tratamiento ajax es por medio de esa librería. En mi opinión es mucho más fácil y ligero usar un objeto XMLHttpRequest sin usar la librería: Subir archivos con Ajax

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 21/01/2015, 17:35
Avatar de camargo94  
Fecha de Ingreso: octubre-2014
Ubicación: Huancayo
Mensajes: 22
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Agregar un ítem a un formData

Disculpe mi ignorancia, pero de que manera puedo agregar un dato al formData, ya intente con el append pero me sale un error al intentar imprimirlo, o derrepente estoy obteniendo mal el dato en question, help me !!

CARICATOS, disculpa no entiendo mucho ese código, y lo que tengo que hacer falta poco para presentar, después aprenderé la manera del link que me pasaste, muchas gracias :)

gracias de antemano y disculpen mis horrores ortográficos :) .

Última edición por camargo94; 21/01/2015 a las 17:51
  #4 (permalink)  
Antiguo 21/01/2015, 17:53
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Agregar un ítem a un formData

Hola:

Cita:
Iniciado por camargo94 Ver Mensaje
Disculpe mi ignorancia, pero de que manera puedo agregar un dato al formData, ya intente con el append pero me sale un error al intentar imprimirlo, o derrepente estoy obteniendo mal el dato en question, help me !!

gracias de antemano y disculpen mis horrores ortográficos :) .
¿al intentar imprimirlo?... ¿Has visto el enlace...?... append es la forma normal, o como te he comentado, teniendo esos campos en controles del formulario...

Cuando dices imprimirlo... no lo comprendo... será enviarlo, ¡quizá!

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 21/01/2015, 18:00
Avatar de camargo94  
Fecha de Ingreso: octubre-2014
Ubicación: Huancayo
Mensajes: 22
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Agregar un ítem a un formData

disculpa, por no explicarme bien, uso el append para insertar un dato mas
formData.append('part_description', 'The best part ever!');

, pero no se como obtener ese dato añadido en el php para poder mostrarlo.

gracias de antemano y disculpen mis horrores ortográficos :) .
  #6 (permalink)  
Antiguo 22/01/2015, 00:50
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Agregar un ítem a un formData

Hola:

Cita:
Iniciado por camargo94 Ver Mensaje
... pero no se como obtener ese dato añadido en el php para poder mostrarlo.
Por tu código y por coherencia, el formulario se envía por el método post, o sea está dentro de la super variable $_POST...

$var_php = $_POST['part_description'];

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo

Última edición por caricatos; 22/01/2015 a las 17:22 Razón: ortografía
  #7 (permalink)  
Antiguo 22/01/2015, 08:31
Avatar de camargo94  
Fecha de Ingreso: octubre-2014
Ubicación: Huancayo
Mensajes: 22
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Agregar un ítem a un formData

Gracias caricatos, gracias a tu ayuda pude solucionarlo, no había probado con algo tan simple como eso.

Saludos.

Etiquetas: javascript, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:12.