Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

122
Vistas
Cargue el archivo con AJAX y PHP: la matriz $_FILES está vacía

He leído cerca de 20 publicaciones en el foro/preguntas/respuestas de stackoverflow diferentes sobre esto, pero simplemente no puedo hacer que esto funcione. He trabajado con jQuery/PHP alrededor de 5 años, pero esta es la primera vez que necesito hacer algo como esto con AJAX.

Entonces... por ahora, solo estoy probando e intentando cargar el archivo .txt e intentar obtener su contenido usando file_get_contents() y enviarlo de vuelta a mi código JS.

Eliminé todo el personal elegante y simplifiqué mis archivos tanto como pude, así que este es mi archivo HTML:

 <div class="container-fluid"> <div class="row"> <div class="col-xs-12"> <form id="uploadForm" action="url/to/php/script"> <input type="file" name="frame" /> <input type="submit" value="UPLOAD" /> </form> </div> </div> </div>

y mi JS

 $("#uploadForm").bind('submit',(function(e) { e.preventDefault(); $.ajax({ url: 'url/to/php/script', type: "POST", data: new FormData(this), contentType: false, cache: false, processData: false, success: function(data) { console.log(data); } }); }));

y en mi script PHP tengo var_dump($_FILES) que me da una matriz vacía.

Mi JS y formulario se copian de una de las respuestas de stackoverflow. URL: $_POST y $_FILES vacíos después de la carga del archivo AJAX , porque está marcado como funciona, pero para mí... todavía está vacío.

Normalmente mi formulario tiene enctype="multipart/form-data" y method="post" pero no hay diferencia.

Mi jQuery lib: http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js

Vine aquí porque siento que no hay más cosas que pueda probar, no importa lo que haga, la matriz $_FILES está vacía.

about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Su lógica AJAX está bien. El problema se debe a que está utilizando una versión muy, muy desactualizada de jQuery, y ha habido muchos ajustes en la lógica de AJAX a lo largo de los años de desarrollo, especialmente desde el aumento de la compatibilidad con FormData y el envío de datos binarios a través de AJAX.

Debe actualizar jQuery a al menos 1.12, idealmente 3.2 si no necesita compatibilidad con IE heredado.

about 4 years ago · Santiago Trujillo Denunciar

0

use new version jquery library like this, your ajax code looks good so for this requirement need to update your jquery library . you use old library in that case it is not working http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js

más para información

https://code.jquery.com/jquery/

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script> $("#uploadForm").on('submit',(function(e) { e.preventDefault(); $.ajax({ url: "url/to/php/script", type: "POST", data: new FormData(this), contentType: false, cache: false, processData: false, success: function(data){ console.log(data); } }); })); </script>
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda