Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/01/2019, 13:47
El_fenix
 
Fecha de Ingreso: junio-2006
Mensajes: 137
Antigüedad: 17 años, 11 meses
Puntos: 0
json_encode devuelve una H inicial

Buenas tardes a todos.

Necesito de su ayuda. Tengo una aplicacion que al ejecutarla en local en un servidor xampp funciona sin problemas, pero al montarla en un hosting de pago, los mensajes que retorna PHP vienen con una H{codigo: 2, mensaje: 'exito'} y esto lo considera un error la funcion ajax y sale por el metodo error: he buscado en inet, pero no tengo la menor idea de por que pone esa H. les copio el codigo para ver si pueden orientarme.

Codigo PHP
Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4.     require ("../modelo/mdl_m_usuarios.php");
  5.  
  6.     $usuario = new Usuario();
  7.  
  8.     if($_POST["ac"] == "vu"){ // Validar Usuario
  9.         $resp = $usuario->mdl_validar_usuario($_POST["usu"], $_POST["cla"]);
  10.  
  11.         if($resp->num_rows > 0){           
  12.             $_SESSION["autoriza"] = "auth";
  13.             // Obtenemos datos del usuario
  14.             $filas = $resp->fetch_array();
  15.  
  16.             //Seteamos variable a devolver ajax
  17.             $retorno["codigo"] = $filas["codigo"];
  18.             $retorno["mensaje"] = $filas["mensaje"];           
  19.  
  20.             echo json_encode($retorno, JSON_FORCE_OBJECT);
  21.  
  22.             $resp->free();
  23.         }
  24.         else {
  25.             $retorno["codigo"] = "2";
  26.             $retorno["mensaje"] = "SP no retorno un resultado";
  27.  
  28.             echo json_encode($retorno, JSON_FORCE_OBJECT);
  29.  
  30.             $resp->free();
  31.         }
  32.     }
  33. ?>

Codigo Javascript
Código Javascript:
Ver original
  1. function js_validar_usuario(){ 
  2.     var usuario = $('#tbx_usuario').val();
  3.     var clave = $('#tbx_clave').val();
  4.  
  5.     if(usuario == ''){
  6.         $('#div_msg_alerta').show();
  7.         $('#div_msg_correcto').hide();
  8.         $('#div_msg_error').hide();
  9.         $('#div_msg_alerta').html('Debe ingresar su Nombre de Usuario');
  10.         return;
  11.     }
  12.  
  13.     if(clave == ''){
  14.         $('#div_msg_alerta').show();
  15.         $('#div_msg_correcto').hide();
  16.         $('#div_msg_error').hide();
  17.         $('#div_msg_alerta').html('Debe ingresar su Contraseña');
  18.         return;
  19.     }
  20.  
  21.     var dataString = 'usu=' + usuario;
  22.         dataString += '&cla=' + clave;     
  23.         dataString += '&ac=vu';        
  24.  
  25.     $.ajax({
  26.         url:"controlador/ctrl_c_usuarios.php",
  27.         cache:false,
  28.         type:"POST",
  29.         data: dataString,
  30.         dataType: "json",
  31.         beforeSend: function(){
  32.             $('#div_msg').html('<img src = \'img/cargando3.gif\' width = \'200\' height = \'100\'  />');
  33.         },
  34.         error: function(xhr, status, error) {
  35.             //var err = eval("(" + xhr.responseText + ")");
  36.             //alert(err.Message);      
  37.             alert(error);  
  38.             alert(xhr.responseText);
  39.             return;            
  40.         },
  41.         success:function(response){        
  42.             if(response.codigo == '4'){
  43.                 $('#div_msg_alerta').hide();
  44.                 $('#div_msg_correcto').show();
  45.                 $('#div_msg_error').hide();            
  46.                 $('#div_msg_correcto').html(response.mensaje + '.  Espere por favor...');                  
  47.             }
  48.             else if(response.codigo == '2'){
  49.                 $('#div_msg_alerta').show();
  50.                 $('#div_msg_correcto').hide();
  51.                 $('#div_msg_error').hide();            
  52.                 $('#div_msg_alerta').html(response.mensaje);               
  53.             }
  54.             else{
  55.                 $('#div_msg_alerta').hide();
  56.                 $('#div_msg_correcto').hide();
  57.                 $('#div_msg_error').show();            
  58.                 $('#div_msg_alerta').html(response.mensaje);
  59.             }
  60.         }
  61.     });
  62. }

Mensaje que retorna
error: SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data

error.responseText : H{"codigo":"4","mensaje":"Usted es administrador. Bienvenido"


Cualquier ayuda es bienvenida.

Salud2