enviar formulario de varias partes con ajax - enviar archivo y texto

necesito enviar algunos datos y un archivo de imagen con ajax. Sé que debe usar un formulario de varias partes y datos de formulario, pero no sé cómo: lo busqué en Google y encontré alguna forma de enviar el archivo, pero necesito enviar el formulario completo. este es mi formulario html

<form id="formData" enctype="multipart/form-data">
                <input type="file" id="uploader"  name="image" accept="image/jpg, image/jpeg, image/png, image/bmp, image/raw"/>
                <input type="hidden"  name="action" id="action" value="receiver"/>
                <input type="hidden"  name="route" id="route" value="image"/>
 </form>

Gracias.

preguntado el 02 de diciembre de 13 a las 08:12

1 Respuestas

Espero que algo como esto pueda ser suficiente para ti, amigo... :)

html

//Include this script in head

 <script src="http://malsup.github.com/jquery.form.js"></script>

EL jQuery Form Plugin le permite actualizar formularios HTML de manera fácil y discreta para usar AJAX. Los métodos principales, ajaxForm and ajaxSubmit, recopile información del elemento de formulario para determinar cómo administrar el proceso de envío. Ambos métodos admiten numerosas opciones que le permiten tener un control total sobre cómo se envían los datos.

 <div id='preview'></div>
 <form id="imageform" method="post" enctype="multipart/form-data" action='ajaximage.php'>
    <input type="file" name="photoimg" id="photoimg" />
 </form>

Archivo de comandos

$('#photoimg').on('change', function() 
 {
      $("#imageform").ajaxForm({target: '#preview', //Shows the response image in the div named preview 
         success:function(){

         }, 
         error:function(){

          } 
       }).submit();
});

ajaximage.php

if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST")
{
$name = $_FILES['photoimg']['name'];
$size = $_FILES['photoimg']['size'];
$tmp = $_FILES['photoimg']['tmp_name'];


$path = "uploads/";
move_uploaded_file($tmp, $path.$name) //Stores the image in the uploads folder
}

Puede obtener los valores de campos como action,route etc usando $_POST dentro de php archivo. Para obtener más información, consulte el siguiente enlace, amigo.. :)

http://malsup.com/jquery/form/#ajaxForm

Respondido el 02 de diciembre de 13 a las 08:12

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.