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

376
Vistas
Pase y use una variable PHP en un archivo Javascript con Ajax

Tengo un script PHP en el que obtengo el contenido de una consulta realizada en una base de datos Postgresql:

 <?php require_once 'connection.php'; $query1 = pg_query("This_is_my_query"); $instruction = "["; while ($row = pg_fetch_array($query1)) { $row1= $row['row1']; $row2= $row['row2']; $instruction .= "{name : '". $row1. "', y : ". $row2. "},"; } $instruction .= "]"; echo $instruction; ?>

La echo $instruction da:

 [{name : 'Prestation', y : 1}]

Luego tengo un archivo JS en el que trato de mostrar y usar la variable $instruction .
Uso Ajax y mi script es el siguiente:

 $.ajax({ url : 'Path_To_Php_File_Is_OK', // requesting a PHP script dataType : 'json', type: "GET", async : false, success : function (data) { // data contains the PHP script output alert(data); }, error: function(data) { alert('error'); }, })

El resultado es que no se llama a la función de éxito y tengo la alert('error') . Pero cuando uso el tipo de datos 'texto' y no 'Json', la función de éxito está bien y tengo la alert(data) .
¿Cómo explicar ese comportamiento? ¿Y cómo podría analizar la $instruction la variable PHP?

Cualquier ayuda sería muy apreciada, ¡gracias!

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

  1. No es necesario crear una cadena json manualmente. Simplemente construya y organice y codifíquelo en json con json_encode ()
  2. Debe establecer el tipo de contenido JSON en los encabezados de respuesta
  3. La etiqueta de cierre ?> es redundante y no se recomienda su uso (ver PSR-12 )

Entonces, eventualmente, su código debería verse así

 <?php require_once 'connection.php'; $query1 = pg_query("This_is_my_query"); $instructions = []; while ($row = pg_fetch_array($query1)) { $row1 = $row['row1']; $row2 = $row['row2']; $instructions[] = ['name' => $row1, 'y' => $row2]; } header('Content-Type: application/json; charset=utf-8'); echo json_encode($instructions);
about 4 years ago · Juan Pablo Isaza 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