Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Empezar con AJAX

Estas en el tema de Empezar con AJAX en el foro de Frameworks JS en Foros del Web. Hola amigos lo que pasa es que ya he hecho algunas pruebas pequeñitas. Pero hay veces que nada me resulta o dias en que todo ...
  #1 (permalink)  
Antiguo 07/08/2006, 12:53
kid
 
Fecha de Ingreso: diciembre-2003
Mensajes: 295
Antigüedad: 20 años, 4 meses
Puntos: 0
Empezar con AJAX

Hola amigos lo que pasa es que ya he hecho algunas pruebas pequeñitas.

Pero hay veces que nada me resulta o dias en que todo va bien.

Ahora mi pregunta es:

¿Que CODIGO necesito para empezar con ajax?

Me podrian mostrar algun ejemplo (que funcione) de como con ajax, buscar y mostrar datos sacados de una base de datos y mostrarlos en un DIV sin que la pagina carge ? .... en PHP

Se los agradeceria mucho.

GRACIAS
  #2 (permalink)  
Antiguo 07/08/2006, 13:26
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 18 años, 8 meses
Puntos: 2
En este mismo foro está todo el material que necesitas para empezar. Hace unos días realizaron un post similar al tuyo en http://www.forosdelweb.com/f127/aprender-ajax-413438/.
El código que necesitas es el encargado de crear el objeto XMLHTTP que encuentras en las FAQ. También en las FAQ hay bastantes ejemplos de lo que pides y links a excelentes tutoriales; empieza revisando por allí.

Saludos.
__________________
R4DS en español | R4DS en inglés
  #3 (permalink)  
Antiguo 07/08/2006, 16:33
kid
 
Fecha de Ingreso: diciembre-2003
Mensajes: 295
Antigüedad: 20 años, 4 meses
Puntos: 0
Ahora tengo el problema que les dije:

Hago aparentemente todo bien, tal cual como aparece en el articulo y no me resulta.

ajax.js
Cita:
function objetus() {
try
{
objetus = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
objetus = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (E)
{
objetus = false;
}
}

if (!objetus && typeof XMLHttpRequest!='undefined')
{
objetus = new XMLHttpRequest();
}
return objetus
}

index.php
Cita:
<script src="ajax.js" type="text/javascript" language="javascript">

function primer_tope()
{
//creamos el objeto
_objetus=objetus();
//cargamos una varible con las variables que vamos a enviar
_values_send="funcion=pt"
_URL_="proceso.php?"
_objetus.open("GET",_URL_+"&"+_values_send,true);
//una vez enviado los valores inmediatamente llamamos a la propiedad
//onreadystatechange
_objetus.onreadystatechange=function() {
//dentro de la funcion comprobamos el estado del proceso
//si es 4 (terminado) pedimos lo que nos han mandado
if (_objetus.readyState==4)
{
//usamos la propiedad responseText para recibir en una cadena
//lo que nos mandaron
window.alert(_objetus.responseText);
}
}
//obligatorio .... luego explicarè el porque
_objetus.send(null);
}
</script>
<input type="button" value="Pedir datos" onclick="primer_tope();">
proceso.php

Cita:
<?php
if(isset($_GET['funcion']))
{
$_valor=$_GET['funcion'];
if($_valor=="pt")
{
$_pt="Tu ip: ".htmlspecialchars($_SERVER['REMOTE_ADDR'])."\n";
$_pt.="request_uri: ".htmlspecialchars($_SERVER['REQUEST_URI'])."\n";
$_pt.="date(): ".htmlspecialchars(date("d-m-Y : H-i-s"))."\n";
echo $_pt;
}

else
{
echo "No enviaste ningun valor ACEPTABLE";
}
}
else
{
echo "No se a enviado valor alguno de peticion";
}
?>
y cuando presiono el boton me dice "error en la pagina".

Donde esta el error ?
  #4 (permalink)  
Antiguo 08/08/2006, 02:34
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 18 años, 8 meses
Puntos: 2
Para empezar asegurate de que tu <input> esté en la etiqueda <body>... por lo que se ve en tu código lo tienes inmediantamente después del JS.
Por otro lado debes cambiarle el nombre a tu función objetus por cualquier otro, ya que una vez que has llamado a esta función, se crea una variable con su mismo nombre por lo que luego habrá conflictos.
Tu index.php quedará:

Código PHP:
<html>
<
head>
<
script language="javascript">
function 
lala() {
try 
{
objetus = new ActiveXObject("Msxml2.XMLHTTP");

catch (
e
{
try 
{
objetus = new ActiveXObject("Microsoft.XMLHTTP");

catch (
E
{
objetus false;
}
}

if (!
objetus && typeof XMLHttpRequest!='undefined'
{
objetus = new XMLHttpRequest();
}
return 
objetus


function 
primer_tope()
{
//creamos el objeto
_objetus=lala();
//cargamos una varible con las variables que vamos a enviar
_values_send="funcion=pt"
_URL_="proceso.php?"
_objetus.open("GET",_URL_+"&"+_values_send,true);
//una vez enviado los valores inmediatamente llamamos a la propiedad 
//onreadystatechange
_objetus.onreadystatechange=function() {
//dentro de la funcion comprobamos el estado del proceso
//si es 4 (terminado) pedimos lo que nos han mandado
if (_objetus.readyState==4)
{
//usamos la propiedad responseText para recibir en una cadena
//lo que nos mandaron
window.alert(_objetus.responseText);
}
}
//obligatorio .... luego explicarè el porque
_objetus.send(null);
}
</script>
</head>
<body>
<input type="button" value="Pedir datos" onclick="primer_tope();"> 
</body>
</html> 
Saludos.
__________________
R4DS en español | R4DS en inglés
  #5 (permalink)  
Antiguo 08/08/2006, 17:23
kid
 
Fecha de Ingreso: diciembre-2003
Mensajes: 295
Antigüedad: 20 años, 4 meses
Puntos: 0
Waaaaaaaaaaaaa !!!!

Genial loco yo creo que el asunto del nombre de la funcion era el problema ... me funciono el altiro.

Por eso mismo error no me respondian en otros foros y estuve parado como 3 semanas... muchas gracias :D
  #6 (permalink)  
Antiguo 08/08/2006, 17:27
 
Fecha de Ingreso: agosto-2006
Mensajes: 41
Antigüedad: 17 años, 8 meses
Puntos: 2
Soy nuevo y todavía no puedo incluir links en mis mensajes. En mi página web tengo un artículo explicándo lo que preguntas. Utilizo Prototype para hacer la llamadas ajax, el framework que se incluye con scriptaculous.
Envíame un mensaje si te interesa.

Albert Lanchas
  #7 (permalink)  
Antiguo 08/08/2006, 17:36
kid
 
Fecha de Ingreso: diciembre-2003
Mensajes: 295
Antigüedad: 20 años, 4 meses
Puntos: 0
Deberias poner el link nomas... lo copio y lo pego en la barra de direcciones :D

No se que es el prototype ni como se usa... me gustaria ver tu articulo :D

Otra cosita... tengo que poner todas las funciones en el mismo archivo que hace la llamada al ajax (Objeto principal), o se pueden poner las funciones en otros archivos ?
  #8 (permalink)  
Antiguo 08/08/2006, 17:57
 
Fecha de Ingreso: agosto-2006
Mensajes: 41
Antigüedad: 17 años, 8 meses
Puntos: 2
Te he enviado un mensaje ya que no me deja poner urls :(
  #9 (permalink)  
Antiguo 08/08/2006, 18:17
Avatar de Nefertiter  
Fecha de Ingreso: enero-2003
Ubicación: Rosario
Mensajes: 1.316
Antigüedad: 21 años, 4 meses
Puntos: 9
prototype es na libreria escrita ej JS que te da ciertas facilidades para trabajar con AJAX y es mas que todo un modelo de trabajo para Javascript

lo encontras en http://www.prototype.conio.net/

y yo habia empezado a traducir la documentacio no oficial, la podes encontrar http://www.prototype.nefertiter.com/ , tiene un link a la documentacion oficial. tambien podes ver la pagina
http://script.aculo.us/ que tiene script basados en prototype y librerias escritas con prototype que te dan muchas funciones para hacer interactiva tu pagina.
  #10 (permalink)  
Antiguo 08/08/2006, 18:47
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 18 años, 8 meses
Puntos: 2
Cita:
Iniciado por kid Ver Mensaje
Otra cosita... tengo que poner todas las funciones en el mismo archivo que hace la llamada al ajax (Objeto principal), o se pueden poner las funciones en otros archivos ?
Con la etiqueta <script src="..." language="javascript"> tal como estaba en tu 1º post es suficiente.

Saludos.
__________________
R4DS en español | R4DS en inglés
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 19:24.