Foros del Web » Programando para Internet » Jquery »

Respuesta Json

Estas en el tema de Respuesta Json en el foro de Jquery en Foros del Web. Buenos dias Tengo un pequeño problema, que soy incapaz de solucionar, a ver si con vuestra ayuda. Tengo este codigo script que hace una llamada ...
  #1 (permalink)  
Antiguo 18/07/2016, 06:17
 
Fecha de Ingreso: junio-2007
Mensajes: 80
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta Json

Buenos dias

Tengo un pequeño problema, que soy incapaz de solucionar, a ver si con vuestra ayuda.

Tengo este codigo script que hace una llamada para un autocomplete, y después dependiendo si existe el cliente, me devuelve sus datos datos, e, problema es que si no existe quisiera que me devuelva no existe, y ahí es donde no sé.
Código:
    $(document).ready(function(){
      $( "#nombrer" ).autocomplete({
        source: "proceso.php",
        minLength: 2
      });
      $("#nombrer").focusout(function(){
        $.ajax({
          url:'cliente.php',
          type:'POST',
          dataType:'json',
          data:{ nombrer:$('#nombrer').val()}
        }).done(function(respuesta){
          if (typeof (respuesta.poblacionr) !=== 'undefined'){
            $("#nombrer").val(respuesta.nombrer);
            $("#caller").val(respuesta.caller);
            $("#poblacionr").val(respuesta.poblacionr);
            $("#cpr").val(respuesta.cpr);
            $("#provinciar").val(respuesta.provinciar);
            $("#telefonor").val(respuesta.telefonor);
          }else{
            alert("Usuario no existe");
          };
        });
      });
    });
El que se encarga de la busqueda del cliente: Proceso.php:
Código PHP:
<?php
session_start
();
if(!isset(
$_SESSION['contra'])){
  
header("Location: ../index.php");
}
$contra $_SESSION["contra"];
require 
'../conn.php';
$matricula $_GET['term'];
$arr_data=array();
$sql "select * FROM habitual WHERE codigo=$contra and nombrer LIKE '%$matricula%'";
$result mysqli_query($connect,$sql) or die('La consulta fall�'.mysqli_error());

if(
$result->num_rows 0){
    while(
$fila $result->fetch_array()){
        
$matriculas['nombrer'] = $fila['nombrer'];    
    }
    echo 
json_encode($matriculas);
}
?>
Y el que se encarga de devolver los datos del cliente si existe: cliente.php.
Código PHP:
<?php
session_start
();
if(!isset(
$_SESSION['contra'])){
  
header("Location: ../index.php");
}
$contra $_SESSION["contra"];
require 
'../conn.php';
$dato $_POST['nombrer'];
$sql "select * FROM habitual WHERE codigo=$contra and nombrer LIKE '%$dato%'";
$result mysqli_query($connect,$sql) or die('La consulta fall�'.mysqli_error());
if(
$result->num_rows 0){
    while(
$fila $result->fetch_array()){
        
$matriculas['nombrer'] = $fila['nombrer'];
        
$matriculas['caller'] = $fila['caller'];
        
$matriculas['poblacionr'] = $fila['poblacionr'];
        
$matriculas['cpr'] = $fila['cpr'];
        
$matriculas['provinciar'] = $fila['provinciar'];
        
$matriculas['telefonor'] = $fila['telefonor'];
    }
    echo 
json_encode($matriculas);
}
?>
Según ésto, si no existe problacionr, debería enviarme un alert, bueno, pues funciona todo excepto lo del alert.

Saludos
  #2 (permalink)  
Antiguo 18/07/2016, 07:24
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 7 años, 5 meses
Puntos: 263
Respuesta: Respuesta Json

y si le quitas un signo de igualdad asi:

if (typeof (respuesta.poblacionr) !== 'undefined'){

prueba a ver, otra opcion que yo utilizo es pasar mediante los datos u codigo, por ejemplo: 200 si estan los datos y 205 si no y de esa manera valido en js el codigo y pues actuo en consecuencia.

Código PHP:
Ver original
  1. if($result->num_rows > 0){
  2.     while($fila = $result->fetch_array()){
  3. $matriculas['codigo'] = 200;        
  4. $matriculas['nombrer'] = $fila['nombrer'];
  5.         $matriculas['caller'] = $fila['caller'];
  6.         $matriculas['poblacionr'] = $fila['poblacionr'];
  7.         $matriculas['cpr'] = $fila['cpr'];
  8.         $matriculas['provinciar'] = $fila['provinciar'];
  9.         $matriculas['telefonor'] = $fila['telefonor'];
  10.     }
  11.     echo json_encode($matriculas);
  12. }else{
  13. $matriculas['codigo'] = 205;
  14. echo json_encode($matriculas);
  15. }

Código Javascript:
Ver original
  1. if (respuesta.codigo) !== 205){
  2.             $("#nombrer").val(respuesta.nombrer);
  3.             $("#caller").val(respuesta.caller);
  4.             $("#poblacionr").val(respuesta.poblacionr);
  5.             $("#cpr").val(respuesta.cpr);
  6.             $("#provinciar").val(respuesta.provinciar);
  7.             $("#telefonor").val(respuesta.telefonor);
  8.           }else{
  9.             alert("Usuario no existe");
  10.           };

prueba a ver.
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 18/07/2016, 11:05
 
Fecha de Ingreso: junio-2007
Mensajes: 80
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Respuesta Json

Buenas

Muchas gracias por tu respuesta.

Lo he comprobado y funciona perfectamente.

Repito muchas gracias por tu ayuda

Saludos

Etiquetas: json, respuesta
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:02.