Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

332
Visualizações
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.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

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.

over 4 years ago · Santiago Trujillo Relatório

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>
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda