| # responseText: Con esta propiedad se reciben
los datos de la siguiente manera. Cuando el estado
del proceso esté en el nivel 4
<?php vari=objetus.responseText
Entonces aqui la variable vari contendrá
el resultado del procesador.
Ejemplo:
<?php 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).
<?php 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>
<?php var _ip = vari.getElementsByTagName('ip').item(0).firstChild.data;
var _uri = vari.getElementsByTagName('uri').item(0).firstChild.data;
var _date = vari.getElementsByTagName('date').item(0).firstChild.data;
|
Entonces mostraremos:
<?php window.alert(_ip+"\n"+_uri+"\n"+_date)
Hagamos el Ejemplo1 con responseXML
Ejemplo 1-b
cliente
<?php <script language="javascript"
type="text/javascript">
# funcion encargada de crear el objeto
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
}
# la funcion que hará el trabajo sucio
# esta funcion es la que llamamos en el evento
ONCLICK
# de nuestro boton
function primer_tope()
{
# creamos el objeto
_objetus=objetus()
# cargamos una varible con las variables que
vamos a enviar
_values_send="funcion=pt"
_URL_="procesador.php?"
_objetus.open("GET",_URL_+"&"+_values_send,true);
# una vez enviado los valores 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)
{
# si se da un status 200 (TERMINADO CON EXITO)
if(_objetus.status==200)
{
# 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);
}
function primer_topeXML()
{
_objetus=objetus()
_values_send="funcion=ptxml"
_URL_="procesador.php?"
_objetus.open("GET",_URL_+"&"+_values_send,true);
_objetus.onreadystatechange=function() {
if (_objetus.readyState==4)
{
if(_objetus.status==200)
{
var vari=_objetus.responseXML;
var _i = vari.getElementsByTagName('ip').item(0).firstChild.data;
var _u = vari.getElementsByTagName('uri').item(0).firstChild.data;
var _d = vari.getElementsByTagName('date').item(0).firstChild.data;
window.alert(_i+"\n"+_u+"\n"+_d);
}
}
}
_objetus.send(null);
return
}
</script>
<input type="button" value="con
rexponseText" onclick="primer_tope();"><br>
<input type="button" value="con
rexponseXML" onclick="primer_topeXML();">
<!-- mas documento HTML --> |
procesador
<?php <?php
if(isset($_GET['funcion']))
{
$_valor=$_GET['funcion'];
if($_valor=="pt")
{
$_pt="Tu ip: ".$_SERVER['REMOTE_ADDR']."\n";
$_pt.="request_uri:";
$_pt.=htmlspecialchars($_SERVER['REQUEST_URI'])."\n";
$_pt.="date(): ".date("d-m-Y
: H-i-s")."\n";
echo $_pt;
}
elseif ($_valor=="ptxml")
{
$_xml="<?xml version=\"1.0\"
standalone=\"yes\"?>\n";
$_xml.="<serv>\n";
$_xml.="<ip>Tu ip: ".$_SERVER['REMOTE_ADDR']."</ip>\n";
$_xml.="<uri>request_uri:";
$_xml.=htmlspecialchars($_SERVER['REQUEST_URI']);
$_xml.="</uri>\n";
$_xml.="<date>".date("d-m-Y
: H-i-s")."</date>\n";
$_xml.="</serv>\n";
//mandamemos cabeceras identificando al documento
//como un documento XML
header('Content-Type: text/xml');
echo $_xml;
}
else
{
echo "No enviaste ningun valor ACEPTABLE";
}
}
else
{
echo "No se a enviado valor alguno de
peticion";
}
?>
|
Seguir navegando por
el tutorial de ajax
1. Concepto
de Ajax
2. Entendiendo
AJAX
a. Que no es Ajax
b . Formas similares a lo que es Ajax
c. Nuestro material para este tutorial
4.
El objeto XMLHttpRequest
a. Creando el objeto XMLHttpRequest
b. Métodos
c . Propiedades
5. El
proceso Cliente-Servidor
6. Sobre
los Ejemplos
7. Nuestro
primer tope con AJAX
8. Sintaxis
básica para los métodos GET/POST
a . Método GET
b . Método POST
9. Recibiendo
los resultados del procesador
a . responseText
b . responseXML
10. Re-renderizando
elementos
11. Ejemplos
a . Verificando la existencia de una URL
b . Checkbox Dependientes
c . Lector RSS
d . Otros
autor: the maborak http://leimnud.no-ip.info |
| |
|