Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Enviar valor por ajax y json a php

Estas en el tema de Enviar valor por ajax y json a php en el foro de Jquery en Foros del Web. Buenas tardes. No se usar muy bien AJAX ni JSON, por eso necesito que me den un mano para lograr algo que seguramente debe ser ...
  #1 (permalink)  
Antiguo 19/05/2019, 13:27
Avatar de laureano59  
Fecha de Ingreso: febrero-2005
Mensajes: 374
Antigüedad: 14 años, 5 meses
Puntos: 0
Información Enviar valor por ajax y json a php

Buenas tardes.

No se usar muy bien AJAX ni JSON, por eso necesito que me den un mano para lograr algo que seguramente debe ser muy sencillo.

Necesito enviar una variable a php y luego con esa variable hacer una consulta sql que luego me devuelva un arreglo en formato JSON.
Lo de la consulta SQL y el arreglo en formato JSON no tengo problema, lo que no se hacer es enviar la variable a PHP usando la misma función de AJAX que uso para recibir el arreglo JSON.

Este es el código:

Función AJAX: recibe como parámetros la url, el data del arreglo y la identificación que es la variable que no me funciona y no sé cómo enviarla a php

Código Javascript:
Ver original
  1. function __ajax(url, data, identificacion){
  2.   var ajax = $.ajax({
  3.     "method" : "POST",
  4.     "url" : url,
  5.     "data" : data,
  6.     "identificacion" : identificacion
  7.   })
  8.   return ajax;
  9. }

Función Listar: Llama la función AJAX y envía la url, el data vacio “” y luego la identificación que es donde tengo el problema.

Código Javascript:
Ver original
  1. function listar(){
  2.   var identificacion = JSON.stringify(document.getElementById('nav-search-input').value);
  3.   //console.log(identificacion);
  4.  
  5.   __ajax("?view=validarasistencia", "", {"identificacion": identificacion})
  6.   .done( function( info ){
  7.     var perfil = JSON.parse( info );
  8.     document.getElementById('nombre').innerHTML       = perfil.data["nombre"];
  9.     document.getElementById('ciudad').innerHTML       = perfil.data["ciudad"];
  10.     document.getElementById('provincia').innerHTML    = perfil.data["provincia"];
  11.     document.getElementById('ministerio').innerHTML   = perfil.data["ministerio"];
  12.     document.getElementById('uniforme').innerHTML     = perfil.data["uniforme"];
  13.     document.getElementById('estado').innerHTML       = perfil.data["estado"];
  14.     document.getElementById('lider').innerHTML        = perfil.data["lider"];
  15.     document.getElementById('hor_llegada').innerHTML  = perfil.data["llegada"];
  16.   });
  17. }


Código PHP:

Código PHP:
require_once("core/models/class.Consultas.php");

$db = new Consultas();
$identificacion $_POST["identificacion"];
//var_dump($identificacion);
//echo $identificacion;

$sql_perfil $db->Sql_Perfil($identificacion);
if(!empty(
$sql_perfil)){
  foreach(
$sql_perfil as $row){
    
$data["data"] = array(
      
'identificacion'=>$row['identificacion'],
      
'nombre'        =>$row['nombre'],
      
'ciudad'        =>$row['ciudad'],
      
'provincia'     =>$row['provincia'],
      
'ministerio'    =>$row['ministerio'],
      
'uniforme'      =>$row['uniforme'],
      
'estado'        =>$row['estado'],
      
'lider'         =>$row['lider'],
      
'llegada'       =>$row['llegada']
      );
  }
   echo 
json_encode($data);

Como les decía al comienzo: si quito del código php esta línea: $identificacion = $_POST["identificacion"]; y lo pongo manualmente todo funciona, no se como lograr traer la identificación...

Gracias por su valiosa ayuda.
__________________
http://www.weblaum.com
Laureano Melo Medina
:arriba:
  #2 (permalink)  
Antiguo 19/05/2019, 21:38
 
Fecha de Ingreso: marzo-2011
Ubicación: Parral
Mensajes: 20
Antigüedad: 8 años, 3 meses
Puntos: 0
Respuesta: Enviar valor por ajax y json a php

podrias escribir la sql,
o mandarlos llamar por su index por si es error de nombre en columna
  #3 (permalink)  
Antiguo 20/05/2019, 06:45
Avatar de laureano59  
Fecha de Ingreso: febrero-2005
Mensajes: 374
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Enviar valor por ajax y json a php

Gracias por responder.
Ya pude solucionarlo era algo muy sencillo:

Esto fue lo unico que cambie al llamar la función __AJAX:

Código Javascript:
Ver original
  1. var identificacion = document.getElementById('nav-search-input').value;
  2.     var datos = {"identificacion": identificacion};
  3.  
  4.     __ajax("?view=validarasistencia", datos)

y esta es la función __AJAX:

Código Javascript:
Ver original
  1. function __ajax(url, data){
  2.     var ajax = $.ajax({
  3.       "method" : "POST",
  4.       "url" : url,
  5.       "data" : data
  6.     })
  7.     return ajax;
  8.   }

Con estos cambios ya me funciona todo sin problemas.
__________________
http://www.weblaum.com
Laureano Melo Medina
:arriba:



La zona horaria es GMT -6. Ahora son las 16:43.