Inicio / Wikis / Tutoriales / Tutorial de AJAX (Asynchronous JavaScript + XML) - Nuestro primer tope con AJAX

Tutorial de AJAX (Asynchronous JavaScript + XML) - Nuestro primer tope con AJAX

(41 opiniones)
Tutorial creado por Mononeurona. Extraido de: http://www.mononeurona.org/index.php?idp=547
27 de Octubre de 2005
JavaScriptXML

7 - Nuestro primer tope con AJAX

Como primer ejemplo no haremos el típico HOLA MUNDO enviaremos una petición a nuestro procesador que nos arrojará nuestro IP,REQUEST_URI,date() usando el método GET.
Ejemplo 1
cliente

  1. PHP [inicio]
  2. <script language="javascript"  type="text/javascript">
  3. funcion encargada de crear el objeto
  4. function objetus() {
  5. try {
  6. objetus = new ActiveXObject("Msxml2.XMLHTTP");
  7. } catch (e) {
  8. try {
  9. objetus= new ActiveXObject("Microsoft.XMLHTTP");
  10. } catch (E) {
  11. objetus= false;
  12. }
  13. }
  14. if (!objetus && typeof XMLHttpRequest!='undefined') {
  15. objetus = new XMLHttpRequest();
  16. }
  17. return objetus
  18. }
  19. la funcion que hará el trabajo sucio
  20. esta funcion es la que llamamos en el evento ONCLICK de nuestro boton
  21. function primer_tope()
  22. {
  23. creamos el objeto
  24. _objetus=objetus()
  25. cargamos una varible con las variables que vamos a enviar
  26. _values_send="funcion=pt"
  27. _URL_="proceso.php?"
  28. _objetus.open("GET",_URL_+"&"+_values_send,true);
  29. una vez enviado los valores inmediatamente llamamos a la propiedad
  30. onreadystatechange
  31. _objetus.onreadystatechange=function() {
  32. dentro de la funcion comprobamos el estado del proceso
  33. si es 4 (terminado) pedimos lo que nos han mandado
  34. if (_objetus.readyState
    4)
  35. {
  36. usamos la propiedad responseText para recibir en una cadena
  37. lo que nos mandaron
  38. window.alert(_objetus.responseText);
  39. }
  40. }
  41. obligatorio .... luego explicarè el porque
  42. _objetus.send(null);
  43. }
  44. </script>
  45. <input type="button" name="visual" value="Pedir datos" class="boton" onclick="primer_tope();">
  46. <!-- mas documento HTML -->

  1. PHP [fin]

  2. Nuestro procesador trabajará segun la variable funcion que reciba por el método GET
  3. PHP [inicio]
  4. <?php
  5. if(isset($_GET['funcion']))
  6. {
  7. $_valor=$_GET['funcion'];
  8. if($_valor "pt")
  9. {
  10. $_pt="Tu ip: ".htmlspecialchars($_SERVER['REMOTE_ADDR'])."\n";
  11. $_pt.="request_uri: ".htmlspecialchars($_SERVER['REQUEST_URI'])."\n";
  12. $_pt.="date(): ".htmlspecialchars(date("d-m-Y : H-i-s"))."\n";
  13. echo $_pt;
  14. }
  15. else
  16. {
  17. echo "No enviaste ningun valor ACEPTABLE";
  18. }
  19. }
  20. else
  21. {
  22. echo "No se a enviado valor alguno de peticion";
  23. }
  24. ?>

  1. PHP [fin]




  • Analizando la funcion primer_tope()
    Fuera de lo que es la funcion objetus() analizaremos nuestra funcion que se encargo del envío y recepcion de datos.
    _objetus=objetus()
    Invocamos al objeto XMLHttpRequest
    _values_send="funcion=pt"
    Cargamos todas las variables que se van a enviar
    _URL_="proceso.php?"
    La URL donde nos comunicaremos (Nótese el ? al final del archivo)
    _objetus.open("GET",_URL_+"&"+_values_send,true);
    La parte más importante, aqui abrimos la URL con los valores cargados osea proceso.php?funcion=pt
    _objetus.onreadystatechange=function() {
    Invocamos la propiedad onreadystatechange, entonces cuando el objeto llegue a este punto se llamará a una funcion que gestionará el resto del proceso.
    if (_objetus.readyState
    4)
            {

    Llamamos ahora a la propiedad readyState que nos indicará en que estado se encuentra el proceso, entonces cuando el estado sea 4 (Terminado) hacemos LO QUE SE NOS OCURRA.
    if(_objetus.status
    200)
    {

    Si el estado del proceso arroja un status 200 significa que a terminado con éxito.
    window.alert(_objetus.responseText);
    En este caso llamamos a la propiedad responseText que tiene lo que el procesador soltó y lo mostramos mediante un alert.
    }
       }
    }
    _objetus.send(null);
    }

    Y por ultimo enviamos null porque hemos enviado todas las variables que nos interasaban automáticamente al abrir
    proceso.php?funcion=pt
    _objetus.send(null) : Es obligatorio, si no se envia algo el proceso no funciona.
Valora este capítulo: (41 opiniones)
Autor y licencia de 'Tutorial de AJAX (Asynchronous JavaScript + XML) - Nuestro primer tope con AJAX'
Mononeurona Extraído de: http://www.mononeurona.org/index.php?idp=547

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.
Este trabajo está licenciado bajo la Creative Commons License. 1999-2005 © :: MonoNeurona.org ::
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Opiniona sobre 'Tutorial de AJAX (Asynchronous JavaScript + XML) - Nuestro primer tope con AJAX' (41)

Tu nombre debe tener tres caracteres como mínimo.
Es necesario que te des de alta con una cuenta de correo válida.
Es necesario que te des de alta con una cuenta de correo válida.
El contenido del título de tu opinión debe tener tres caracteres como mínimo.
Es obligatorio que selecciones una valoración del recurso.
El contenido del comentario de tu opinión debe tener tres caracteres como mínimo.

Opina sobre este tutorial



* Valoración:
* Nombre:
* Correo electrónico:
* Título:
* Comentario:

Wikis relacionados con 'Tutorial de AJAX (Asynchronous JavaScript + XML) - Nuestro primer tope con AJAX'

Amplio tutorial de Java para empezar a trabajar y ampliar conocimientos de este lenguaje.
En este artículo se explica una sencilla manera para poder escuchar música en formato mp3... Más »
Este tutorial presenta los conceptos básicos de líneas de transmisión (Transmission lines), así como una... Más »
PHP se ha convertido en el lenguaje de facto de Internet y no es difícil... Más »
Si tuviera que buscar un adjetivo para calificar a Sendmail, pensaría en "excesivo". Excesivo puesto... Más »
¿Estás seguro de que deseas eliminar este capítulo?