codeigniter + ajaxify + json !

DarkSoldier

buenas !!!

ahora no tengo el codigo a mano, lo tengo en el correo del curro y ahora no va.. xD pero hago la pregunta igualmente..

uso el framework codeigniter, en portada tengo un enlace que abre con ajaxify (plugin de jquery) en el centro de la pagina un formulario, se trata de cuando escriban en un input, se vaya comprobando al momento si ese input ya esta en la bbdd (comprobar el nick.. correo.. y esas cosas unicas para un usuario).

he creado una funcion en un controlador, para buscar esos datos en la bbdd, lo que pasa, que no se como cargarlo en el formulario ..

tengo un $("#input").keyup(....$.getJSON('<?= site_url('controlador/funcion') ?>', '{"id":"1"}', function (data) { alert(data); }

y weno... en el controlador uso $_GET['id'] para cojer el valor del id que pasa por JSON, pero no me saka ningun alert .. :S

SORRY, SEGURO QUE ME E EXPLICADO FATAL

NeB1

#1 mira en la consola de firebug si está realizando la llamada al archivo y si además no está dando ningún error.

Yo diría (así un poco a boleo) que el problema que tienes es que no estás devolviendo los datos en JSON que es justo lo que se espera al usar la función $.getJSON. Prueba primero a hacer simplemente $.get(file,data, function) y si eso te funciona después ya cambias de función.

Pero sobre todo (si nunca has usado firebug, ya puedes empezar) usa la pestaña 'consola' de firebug. Si se hace una llamada ajax, te aparecerá, al archivo al que la realiza (igual es un error de rutas), los datos que envía y la respuesta que obtiene. Además muestra errores javascript en tiempo de ejecución.

1 respuesta
DarkSoldier

#2 la funcion del controlador, el resultado es un echo json_encode(array); si lo abro via web me sale

es mas, probe directamente con la funcion $.ajax y en datatype json, jsonp y nada, y sin embargo, con html si :S probare con el firebug

1 respuesta
NeB1

#3 si en html te funciona es porque hay algún problema con el json. Carácteres especiales o algo así?

1 respuesta
DarkSoldier

#4 neb1 el problema era en el envio de los $_GET

$.getJSON('fichero', '{lalala}'

enviaba el segundo parametro como string xD quitando las comillas todo funciono de PM :P gracias !!

otra cosilla.. eso lo hago para comprobar en el acto un formulario cada vez k se escribe en un input, si recibe el JSON me escribe en un div EXISTE, pero como hago que si no encuentra datos, lo borre y escriba NO EXISTE ?? xD

1 respuesta
NeB1

#5 hombre, el JSON lo recibirás siempre, no?


$.getJSON(..... function(response){
    if(response['status'])
    {
        $("#div").html('Existe');
    }else{
         $("#div").html('No existe');
         $("#input").val('');
    }
});

#7 de na xD

1 respuesta
DarkSoldier

si los datos que le envio no son correctos, no recibe nada :O

pd: #6 gracias XDD

1 respuesta

Usuarios habituales

  • DarkSoldier
  • NeB1