2011-04-19 11 views
11

Tengo un formulario con una entrada de archivo. ¿Cómo obtengo el archivo y lo publico en un script php usando jQuery? ¿Puedo usar .val() para obtener el valor y luego publicarlo? Por ejemplo decir que el archivo de entrada tiene un identificador de archivo podría simplemente hacer:jQuery ajax campo de archivo de publicación

$('#submit').click(function() { 
    var file = $('#file').val(); 
    $.post('script.php', { "file": file }, function(data) { 
     // do something here after post complete 
    }, 'json'); 
}); 

Gracias

+0

Supongo que esto no funcionará, un cargador de ajax puede ser lo que está buscando .. –

Respuesta

2

La carga de archivos pueden no hacerse de esta manera, no importa cómo se descomponen. Si usted quiere hacer un proceso de carga ajax/asíncrono, sugeriría mirar en algo así como Uploadify o Valums

-3

Prueba esto ...

<script type="text/javascript"> 
     $("#form_oferta").submit(function(event) 
     { 
      var myData = $(form).serialize(); 
      $.ajax({ 
       type: "POST", 
       contentType:attr("enctype", "multipart/form-data"), 
       url: " URL Goes Here ", 
       data: myData, 
       success: function(data) 
       { 
        alert(data); 
       } 
      }); 
      return false; 
     }); 
</script> 

Aquí el contentType se especifica como multipart/form-data como lo hacemos en el etiqueta de formulario, esto funcionará para cargar un archivo simple En el lado del servidor solo necesita escribir un código simple de carga de archivos para manejar esta solicitud con el mensaje de eco que desea mostrar al usuario como respuesta.

+0

No funciona –

6

He intentado este código para aceptar archivos usando Ajax y al enviar el archivo obtiene la tienda usando mi archivo php. Código modificado ligeramente para funcionar. (Archivos cargados: PDF, JPG)

function verify1() { 
    jQuery.ajax({ 
     type: 'POST', 
     url:"functions.php", 
     data: new FormData($("#infoForm1")[0]), 
     processData: false, 
     contentType: false, 
     success: function(returnval) { 
      $("#show1").html(returnval); 
      $('#show1').show(); 
     } 
    }); 
} 

Simplemente imprima los detalles del archivo y verifique. Obtendrás salida. Si el error me deja saber.

Cuestiones relacionadas