Inicio / Wikis / Tutoriales / Tutorial de AJAX (Asynchronous JavaScript + XML) - Recibiendo los resultados del procesador

Tutorial de AJAX (Asynchronous JavaScript + XML) - Recibiendo los resultados del procesador

(41 opiniones)
Tutorial creado por
27 de Octubre de 2005
JavaScriptXML
Hay dos maneras en las que se puede recibir la informacion devuelta por el procesador, las propiedades: responseText y responseXML


  • responseText: Con esta propiedad se reciben los datos de la siguiente manera. Cuando el estado del proceso esté en el nivel 4
    vari=objetus.responseText
    Entonces aqui la variable vari contendrá el resultado del procesador.
    Ejemplo:------##window.alert(vari)##------Esto es lo que usamos en nuestro primer ejemplo, aqui cuando el proceso llega a nivel 4 creamos un alert con los datos que nos a enviado el procesador.
  • responseXML:
    Con esta propiedad el procesador nos devuelve los datos como XML y debemos recorrerlo mediante las funciones del DOM (getEementsByTagName, etc).
    vari=objetus.responseXML
    Guardamos el documento devuelto en la variable vari para luego recorrerla,en el caso para nuestro ejemplo el documento XML del procesador tendrá la siguente estructura:
    <serv> <ip>ip</ip> <uri>uri </uri> <date>date</date> </serv>
    var _ip = vari.getElementsByTagName('ip').item().firstChild.data;
    var _uri = vari.getElementsByTagName('uri').item().firstChild.data;
    var _date = vari.getElementsByTagName('date').item().firstChild.data;

    Entonces mostraremos: window.alert(_ip+"\n"+_uri+"\n"+_date)
    Hagamos el ejemplo1 con responseXML
    Ejemplo 1-b
    cliente
    PHP [inicio]
    1. <script language="javascript"  type="text/javascript">
    2. funcion encargada de crear el objeto
    3. function objetus() {
    4. try {
    5. objetus = new ActiveXObject("Msxml2.XMLHTTP");
    6. } catch (e) {
    7. try {
    8. objetus= new ActiveXObject("Microsoft.XMLHTTP");
    9. } catch (E) {
    10. objetus= false;
    11. }
    12. }
    13. if (!objetus && typeof XMLHttpRequest!='undefined') {
    14. objetus = new XMLHttpRequest();
    15. }
    16. return objetus
    17. }
    18. la funcion que hará el trabajo sucio
    19. esta funcion es la que llamamos en el evento ONCLICK de nuestro boton
    20. function primer_tope()
    21. {
    22. creamos el objeto
    23. _objetus=objetus()
    24. cargamos una varible con las variables que vamos a enviar
    25. _values_send="funcion=pt"
    26. _URL_="proceso.php?"
    27. _objetus.open("GET",_URL_+"&"+_values_send,true);
    28. una vez enviado los valores inmediatamente llamamos a la propiedad
    29. onreadystatechange
    30. _objetus.onreadystatechange=function() {
    31. dentro de la funcion comprobamos el estado del proceso
    32. si es 4 (terminado) pedimos lo que nos han mandado
    33. if (_objetus.readyState
      4)
    34. {
    35. si se da un status 200 (TERMINADO CON EXITO)
    36. if(_objetus.status 200)
    37. {
    38. usamos la propiedad responseText para recibir en una cadena
    39. lo que nos mandaron
    40. window.alert(_objetus.responseText);
    41. }
    42. }
    43. }
    44. obligatorio .... luego explicarè el porque
    45. _objetus.send(null);
    46. }
    47. function primer_topeXML()
    48. {
    49. _objetus=monitor_get_xmlhttp()
    50. _values_send="funcion=ptxml"
    51. _URL_="ajax_tut.php?"
    52. _objetus.open("GET",_URL_+"&"+_values_send,true);
    53. _objetus.overrideMimeType("text/xml");
    54. _objetus.onreadystatechange=function() {
    55. if (_objetus.readyState
      4)
    56. {
    57. if(_objetus.status 200)
    58. {
    59. var vari=_objetus.responseXML;
    60. var _ip = vari.getElementsByTagName('ip').item().firstChild.data;
    61. var _uri = vari.getElementsByTagName('uri').item().firstChild.data;
    62. var _date = vari.getElementsByTagName('date').item().firstChild.data;
    63. window.alert(_ip+"\n"+_uri+"\n"+_date);
    64. }
    65. }
    66. }
    67. _objetus.send(null);
    68. return
    69. }
    70. </script>
    71. <input type="button" name="visual" value="Pedir datos con rexponseText" class="boton" onclick="primer_tope();">
    72. <input type="button" name="visual" value="Pedir datos con rexponseXML" class="boton" onclick="primer_topeXML();">
    73. <!-- mas documento HTML -->
PHP [fin]
procesador
PHP [inicio]
    1. <?php
    2. if(isset($_GET['funcion']))
    3. {
    4. $_valor=$_GET['funcion'];
    5. if($_valor
      "pt")
    6. {
    7. $_pt="Tu ip: ".htmlspecialchars($_SERVER['REMOTE_ADDR'])."\n";
    8. $_pt.="request_uri: ".htmlspecialchars($_SERVER['REQUEST_URI'])."\n";
    9. $_pt.="date(): ".htmlspecialchars(date("d-m-Y : H-i-s"))."\n";
    10. echo $_pt;
    11. }
    12. elseif ($_valor "ptxml")
    13. {
    14. $_xml="<?xml version=\"1.0\" standalone=\"yes\"?>\n";
    15. $_xml.="<serv>\n";
    16. $_xml.="<ip>Tu ip: ".htmlspecialchars($_SERVER['REMOTE_ADDR'])."</ip>\n";
    17. $_xml.="<uri>request_uri: ".htmlspecialchars($_SERVER['REQUEST_URI'])."</uri>\n";
    18. $_xml.="<date>date(): ".htmlspecialchars(date("d-m-Y : H-i-s"))."</date>\n";
    19. $_xml.="</serv>\n";
    20. mandamemos cabeceras identificando al documento
    21. como un documento XML
    22. header('Content-Type: text/xml');
    23. echo $_xml;
    24. }
    25. else
    26. {
    27. echo "No enviaste ningun valor ACEPTABLE";
    28. }
    29. }
    30. else
    31. {
    32. echo "No se a enviado valor alguno de peticion";
    33. }
    34. ?>
PHP [fin]
Valora este capítulo: (41 opiniones)
Autor y licencia de 'Tutorial de AJAX (Asynchronous JavaScript + XML) - Recibiendo los resultados del procesador'
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) - Recibiendo los resultados del procesador' (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) - Recibiendo los resultados del procesador'

Amplio tutorial de Java para empezar a trabajar y ampliar conocimientos de este lenguaje.
Recientes investigaciones sugieren que los mejores directivos utilizan una gama de estilos de dirección distintos... Más »
Este tutorial presenta los conceptos básicos de líneas de transmisión (Transmission lines), así como una... Más »
Si tuviera que buscar un adjetivo para calificar a Sendmail, pensaría en "excesivo". Excesivo puesto... Más »
PHP se ha convertido en el lenguaje de facto de Internet y no es difícil... Más »
¿Estás seguro de que deseas eliminar este capítulo?