Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

327
Views
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 el 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 answers
Answer question

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!