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

89
Visualizações
La función Ajax no devuelve ningún resultado.

Estoy usando esta función ajax para obtener opciones para dos menús desplegables a través de ajax pero no devuelve ningún resultado. Hola, esta es mi función ajax:

 <script> $('#department').on('change',function(){ var department = $(this).val(); var course = $('#course').val(); if(department){ $.ajax({ type:'POST', url:'ajaxData.php', dataType: 'json', cache: false, data:{department: department, course: course }, success: function(data){ $('#head_name').html(data.head_name); $('#email').html(data.email); } }); }else{ $('#head_name').html('<option value="">Select Department first</option>'); $('#email').html('<option value="">Select Department first</option>'); } }); </script>

Y este es mi código de consulta:

 if(isset($_POST["department"]) && isset($_POST["course"])){ //Get all courses data $query = $db->query("SELECT head_name, email FROM head WHERE course = '".$_POST['course']."' AND department = '".$_POST['department']."' "); //Count total number of rows $rowCount = $query->num_rows; //Display result list if($rowCount > 0){ while($row = $query->fetch_assoc()){ $temp = array('head_name' => '<option value="'.$row['head_name'].'">'.$row['head_name'].'</option>', 'email' => '<option value="'.$row['email'].'">'.$row['email'].'</option>' ); echo json_encode($temp); } }else{ $temp = array('head_name' => '<option value="">Not avaialble </option>', 'email' => '<option value="">Not avaialble </option>' ); echo json_encode($temp); } }

Pero no obtengo resultados de salida, ¿qué estoy haciendo mal?

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

0

Su llamada Ajax espera JSON ( dataType: 'json' ) pero no devuelve JSON a través de su salida de PHP porque el tipo de contenido predeterminado es text/html y no application/json . Agregue el encabezado Content-Type adecuado antes de echo su salida JSON.

 header('Content-Type: application/json'); echo json_encode(array('something' => 'else'));
about 4 years ago · Santiago Trujillo Relatório

0

hace eco de una matriz, por lo que debe acceder al elemento de datos como una matriz por índice.

por ejemplo, para el primer elemento

 success: function(data){ $('#head_name').html(data[0].head_name); $('#email').html(data[0].email); }

eventualmente intente jsonParse datos

 success: function(data){ jsonData = JSON.parse(data); $('#head_name').jsonData(data[0].head_name); $('#email').jsonData(data[0].email); }

en su tiempo, debe usar una matriz para almacenar los valores

 while($row = $query->fetch_assoc()){ $temp[] = array('head_name' => '<option value="'.$row['head_name'].'">'.$row['head_name'].'</option>', 'email' => '<option value="'.$row['email'].'">'.$row['email'].'</option>' ); echo json_encode($temp); }
about 4 years ago · Santiago Trujillo Relatório

0

Acabo de cambiar el nombre de la variable, por supuesto, y mi función comienza a funcionar, no sé por qué así:

 data:{ department: department, courseid: course},
about 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