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

359
Visualizações
La llamada AJAX falla con SyntaxError: final inesperado de la entrada JSON

Lo siento por hacer una publicación con un error genérico, ¡pero no puedo entender esto! Tengo una llamada ajax que por ahora envía un objeto vacío y solo devuelve json_encode(array('status' => 'success')); mientras estoy depurando. La llamada ajax está fallando con Error en la llamada ajax. Error: SyntaxError: final inesperado de la entrada JSON

Intenté enviar solo datos ['pid'] = 'csv' en caso de que el json necesitara tener algo, pero sigo recibiendo el mismo error.

Llamada AJAX

 function runDataDownload() { var data = {}; // data['rawFiles'] = $('#projectIDs').val(); // data['metadata'] = $('#getData').val(); // data['type']= $('#submitType').val(); // data['pid']='csv'; // data['command']='data/qcTest'; console.log(data); console.log(typeof data) var qcRunId="csv" + Date.now(); var posturl = baseURL + "manage/ajax_runBg/csv/" + qcRunId; $.ajax({type: "POST", url: posturl, data: data, dataType: 'json'}) .done(function(result) { console.log(result); if (result.status==='success'){ // begin checking on progress checkRunStatus(qcRunId, loopIndex); } else if (result.status==='failed'){ $('#' + errorId + ' > li').remove(); $.each(result.errors, function(key, value) { $('#' + errorId).append( "<li>" + value + "</li>" ); }); $('#' + statusId).hide(); $('#' + errorId).show(); } else { $('#' + errorId + ' > li').remove(); $('#' + errorId).append( "<li>Invalid return from ajax call</li>" ); $('#' + errorId).show(); // PTODO - may not be needed // make sure it is visible $('#' + errorId).get(0).scrollIntoView(); } }) .fail(function(jqXHR, status, err) { console.log(jqXHR + status + err); $('#' + errorId + ' > li').remove(); $('#' + errorId).append( `<li>Error in ajax call. Error: ${status} (${err.name}: ${err.message})</li>`); $('#' + errorId).show(); }); }

Y mi código php:

 public function ajax_runBg($qcName, $runId) { echo json_encode(array('status' => 'success')); }

¡Gracias!

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

0

Algo parece borrar el búfer de salida de PHP después de llamar a ajax_runBg . Verifique esto agregando ob_flush(); flush(); a ajax_runBg después de la declaración de eco.

over 4 years ago · Santiago Trujillo Relatório

0

Perdón por responder, cuando no tengo una completa, no tengo suficiente reputación para comentar.

Ejecuté este código (eliminé las variables que no tengo) y no obtuve ningún error (no hay nada malo con "echo json_encode(array('status' => 'success'));").

Aquí hay algunas posibles razones por las que falla: Su problema podría ser que el php no hace eco de nada.

Una vez tuve este problema y lo solucioné haciendo primero una variable de json_encode ("cosas para codificar") y luego haciendo eco en esa variable.

¿Hay más en el archivo php que no mostraste? Podría haber un problema si hay otras cosas que se repiten.

over 4 years ago · Santiago Trujillo Relatório

0

Al enviar json, primero debe codificarlo como json, entonces:

 $.ajax({type: "POST", url: posturl, data: JSON.stringify(data), dataType: 'json'})

JSON.stringify

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