Foros del Web » Programando para Internet » Jquery »

Problemas con JSON en jquery

Estas en el tema de Problemas con JSON en jquery en el foro de Jquery en Foros del Web. Buenas noches, espero me puedan ayudar con mi enredo de novato. sucede que quiero consultar datos de mysql con php y mostrarlos en web con ...
  #1 (permalink)  
Antiguo 02/07/2016, 20:06
Avatar de acumulador  
Fecha de Ingreso: junio-2008
Ubicación: Medellin - Antiquia
Mensajes: 459
Antigüedad: 15 años, 10 meses
Puntos: 7
Problemas con JSON en jquery

Buenas noches, espero me puedan ayudar con mi enredo de novato. sucede que quiero consultar datos de mysql con php y mostrarlos en web con jquery mobile, tengo un archivo js que con ajax envia la petición:

Código Javascript:
Ver original
  1. try
  2.     {
  3.         var strHtml = "";
  4.         $.ajax({
  5.                 global: false,
  6.                 dataType: 'html',
  7.                 async: false,
  8.                 type: "POST",
  9.                 url: $("#form").attr('action'),
  10.                 data: $("#form").serialize(),
  11.             }).done(function (resultado) {
  12.                 var datosRecibidos = JSON.parse(resultado);
  13.                 var lista = "";
  14.                 $.each( datosRecibidos, function( key, value ) {
  15.                         if(value.foto == "nofoto.jpg")
  16.                         {
  17.                             lista += "<li><div id='avatarUs'><img src='imagenes/nofoto.jpg' width='60' height='80' ></div>";
  18.                         }
  19.                         else
  20.                         {
  21.                             lista += "<li><div id='avatarUs'><img src='imagenes/" + value.foto + "' width='60' ></div>";
  22.                         }
  23.                         lista += "<div id='infoUs'>";
  24.                         lista += "Alumno: " + value.nombre + "<br>";
  25.                         lista += "Documento: " + value.documento + "<br>";
  26.                         lista += "Grupo: " + value.grupo;
  27.                         lista += "</div>";
  28.                         lista += "</li>";
  29.                 });
  30.                 $("#listaDatos").html(lista);
  31.                 $("#listaDatos").listview().listview('refresh');
  32.         });
  33.     }
  34.     catch(ex)
  35.     {
  36.         alert("Error de datos: " + ex);
  37.     }


tengo un archivo php en mi servidor:

Código PHP:
Ver original
  1. <?php
  2. include('conex.php');
  3.  
  4. $gr = $_POST["txtcampo"];
  5.  
  6. $datos=mysql_query("SELECT * FROM tbl_datos WHERE campo ='$gr'");
  7.  
  8. $arrDatos = array();
  9. while ($rs=mysql_fetch_array($datos))
  10. {
  11.         $arrDatos[] = array_map('utf8_encode', $rs);
  12. }
  13.  
  14. echo json_encode($arrDatos);
  15.  
  16. ?>

Entonces sucede que cuando corro la aplicación desde mi servidor funciona bien, pero si lo corro desde local con el emulador ripple me sale este error:
SyntaxError: Unexpected token < in JSON at position 0

Espero me puedan ayudar con este problema, muchas gracias de antemano por el tiempo y la ayuda que me puedan prestar.
__________________
-----------------------------------------------------------------------------
Yo vivo de preguntar, saber no puede ser lujo...
  #2 (permalink)  
Antiguo 03/07/2016, 02:35
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 10 años, 1 mes
Puntos: 67
Respuesta: Problemas con JSON en jquery

En tu archivo php le pasas los resultados en JSON y en tu ajax le dices que será HTML, prueba a cambiarlo.

dataType: 'json'

Saludos.
  #3 (permalink)  
Antiguo 03/07/2016, 08:26
Avatar de acumulador  
Fecha de Ingreso: junio-2008
Ubicación: Medellin - Antiquia
Mensajes: 459
Antigüedad: 15 años, 10 meses
Puntos: 7
Respuesta: Problemas con JSON en jquery

Cita:
Iniciado por MaNuX0218 Ver Mensaje
En tu archivo php le pasas los resultados en JSON y en tu ajax le dices que será HTML, prueba a cambiarlo.

dataType: 'json'

Saludos.
Hola gracias por responder, lo intente pero me sale el mismo error pero como antes solo al ejecutar en local conectandome a un archivo php que esta en mi servidor. No se si tenga otro error o detalle en mi codigo, me conecto al archivo php de esta forma:

Código Javascript:
Ver original
  1. url: "http://miservidor.com/miapp/php/consultar.php",
__________________
-----------------------------------------------------------------------------
Yo vivo de preguntar, saber no puede ser lujo...
  #4 (permalink)  
Antiguo 04/07/2016, 14:23
 
Fecha de Ingreso: julio-2015
Mensajes: 85
Antigüedad: 8 años, 9 meses
Puntos: 4
Respuesta: Problemas con JSON en jquery

Buenas

Segun leo imagino que estas usando phonegap, en el caso de ser asi hace poco lei que no se podia insertar php en phonegap pero este no es tu caso porque lo que haces es una simple peticion Ajax a un fichero php no lo estas insertando como tal. Yo experimente con phonegap cordova y el back lo hice en vez con php lo hice con un Web API en .NET y todo me iba perfecto en el ripple, nusca un poco a ver si es que el uso de ajax a un php con phonegap necesita algo en especial porque sino no se me ocurre otra cosa.
  #5 (permalink)  
Antiguo 05/07/2016, 19:01
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 8 años, 10 meses
Puntos: 263
Respuesta: Problemas con JSON en jquery

utiliza jsonp, yo tenia el mismo problema con una app que estaba ahciendo con jquery y phonegap por ejhemplo y las peticiones ajax no salin o n hacian nada, pero el asunto esta en el json, ya que se da un crossdomain y se necesita jsonp para que funcione, al menos eso investigue y me funciono, aqui algo:

Código Javascript:
Ver original
  1. $.ajax({
  2.             url: "http://www.server.com/mobile/test.php",
  3.             data: {"usuario":usuario, "password":pass},
  4.             type: "GET",
  5.             dataType: "jsonp",
  6.             beforeSend: function(){
  7. //QUE VA A HACER ANTES DE ENVIAR
  8.             },
  9.             success: function(data){
  10. //QUE HACE AL RECIBIR RESPUESTA
  11. }
  12.  
  13. });

y la respuesta la regresaba de esta manera que recibirla bien:

Código PHP:
Ver original
  1. $info = array();
  2.     $info['cod'] = '205';
  3.     $info['mensaje'] = 'El Usuario no se encuentra Registrado en Nuestro sistema, por favor Verifique';
  4.    
  5.     if (isset($_GET['callback'])) {
  6.         echo $_GET['callback'] . '( ' . json_encode($info) . ' )';
  7.     } else {
  8.         echo 'callbackEjercicio( ' . json_encode($info) . ' )';

prueba y ajusta segun tu necesidad, saludos
__________________
[email protected]
HITCEL

Etiquetas: json
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 18:46.