AVBAX es AJAX, pero raro (II)
Pos vale. Pos malegro. Y además de poder leer un archivo de texto alojado en el servidor remoto, ¿pa’ que más me sirve esto?
No se me alteren, por Dios, no se me alteren. En este segundo post vamos a explicar cómo hacer peticiones GET y POST a una página web con paso de parámetros y todo. ¡Acérquense que estamos que lo regalamos! ¡A regolvé, a regolvé!
Efectivamente, con el objeto XMLHttpRequest también podemos capturar el resultado de la petición parametrizada que escupe un ASP, o un PHP, o cualquier otro, actuando contra una base de datos.
Para peticiones GET deberemos especificar los parámetros en la línea del Open
así (por ejemplo):
VBAX.Open "GET", "index.html?parametro1=Hola¶metro2=" _
& Escape(Cadena2), True
Donde Cadena2
es una variable previamente definida y con valor asignado, y Escape
es una función VBScript que codifica una cadena transformándola en válida para una transacción HTTP. Esta función debe utilizarse siempre, o casi siempre, para evitarnos problemas a la hora de realizar las peticiones. Ya sabéis, nos convierte los caracteres raros para una URL (como espacios, eñes, tildes y demás) en otros todavía más raros (como +
, %F1
, etcétera) pero comprensibles para el navegador. ¿Cuando hablarán derecho estos paratos?
Para peticiones POST la cosa cambia un poco. Los parámetros han de pasarse desde el método Send
de la siguiente manera:
AVBAX.Open "POST", "index.html", True
AVBAX.Send("parametro1=Hola¶metro2=" & Escape(Cadena2))
Como se comentó en el anterior post, entre ambas líneas de código irá la que indica la función que recogerá los resultados (la del onreadystatechange
).