MSXML proporciona el objeto Microsoft.XMLHTTP, que puede completar la conversión y enviar tareas de paquetes de datos a objetos de solicitud.
La instrucción para crear un objeto XMLHTTP es la siguiente:
Set objXML = CreateObject("Msxml2.XMLHTTP") o
Establecer objXML = CreateObject ("Microsoft.XMLHTTP")
' O, para la versión 3.0 de XMLHTTP, utilice:
' Establecer xml = Server.CreateObject("MSXML2.ServerXMLHTTP")
Después de crear el objeto, llame al método Open para inicializar el objeto Solicitud. El formato de sintaxis es:
poster.open método http, URL, asíncrono, ID de usuario, contraseña.
El método Open contiene 5 parámetros, los primeros tres son obligatorios, los dos últimos son opcionales (proporcionados cuando el servidor requiere autenticación). El significado de los parámetros es el siguiente:
método http: método de comunicación HTTP, como GET o POST
URL: la dirección URL del servidor que recibe datos XML. Por lo general, el programa ASP o CGI asíncrono se especifica en la URL
: un indicador booleano que indica si la solicitud es asíncrona. Si es un modo de comunicación asíncrono (verdadero), el cliente no espera la respuesta del servidor; si es un modo síncrono (falso), el cliente tiene que esperar hasta que el servidor devuelva un mensaje antes de realizar otras operaciones
. utilizado para la autenticación del servidor
contraseña Contraseña de usuario, utilizada para la autenticación del servidor
El método Send del objeto XMLHTTP
utiliza el método Open para inicializar el objeto Request y luego llama al método Send para enviar los datos XML:
poster.send
XML-data.
El tipo de parámetro del método de envío es Variante, que puede ser una cadena o un árbol DOM o un flujo de datos arbitrario. Hay dos formas de enviar datos: sincrónica y asincrónica. En modo asíncrono, una vez que se envía el paquete de datos, el proceso de envío finaliza y el cliente realiza otras operaciones. En modo síncrono, el cliente espera hasta que el servidor devuelva un mensaje de confirmación antes de finalizar el proceso de envío.
El atributo readyState en el objeto XMLHTTP puede reflejar el progreso del servidor en el procesamiento de la solicitud. El programa cliente puede configurar el método de procesamiento de eventos correspondiente en función de esta información de estado. Los valores de los atributos y sus significados se muestran en la siguiente tabla:
Valor Descripción
0 Se ha creado el objeto Respuesta, pero el proceso de carga del documento XML aún no ha finalizado.
1 El documento XML ha sido cargado.
2 El documento XML se ha cargado y se está procesando.
3 Se ha analizado parte del documento XML.
4 El documento ha sido analizado y el cliente puede aceptar el mensaje de respuesta.
El cliente procesa la información de respuesta.
Después de recibir el mensaje de respuesta, el cliente realiza un procesamiento simple, que básicamente completa un ciclo de interacción entre C/S. El cliente recibe la respuesta a través de los atributos del objeto XMLHTTP:
● ResponseTxt: trata el mensaje de respuesta como una cadena de texto;
● ResponseXML: trata el mensaje de respuesta como un documento XML, utilizado cuando el mensaje de respuesta del servidor contiene datos XML; trata el mensaje devuelto
como un documento XML
El mensaje devuelto se trata como un objeto Stream------esta es la siguiente función JAVASCRIPT muy simple ENVIAR(STR,URL)------------- --
Se utilizan objetos XMLDOM y XMLHTTP. La ventaja de utilizar esta tecnología es: control JS total, conveniente/simple, mucho mejor que RDS o remoto (requisito previo: tanto el servidor como el cliente deben tener instalado IE5 o superior). -Actualizar la información en línea que publiqué. La función también utiliza esta tecnología. Los amigos que estén interesados pueden echar un vistazo.
Función Enviar (Str, URL).
// El parámetro STR son los datos XML pasados. También puede pasar otros datos de texto.
// Sin embargo, esta función debe ser procesada por el servidor y devuelta a datos XML. También puede modificarla.
// El parámetro URL representa la dirección del archivo ASP de los datos que desea procesar
{
var Http = new ActiveXObject("Microsoft.XMLHTTP") //Crea un objeto XMLHTTP var Dom = new ActiveXObject("Microsoft.XMLDOM") //Crea un objeto XMLDOM Http.open("POST",URL,false)
//El primer parámetro significa enviar datos utilizando el método "POST". Puede ser de hasta 4 MB o se puede cambiar a "GET".
// El segundo parámetro significa a qué archivo se envían los datos para su procesamiento // El tercer parámetro significa modo sincrónico o asincrónico TRUE significa asincrónico, FALSE significa sincrónico Http.send(Str) // Comience a enviar datos.... .. .......bip..
Dom.async=false //Configurado para obtener datos sincrónicamente Dom.loadXML(Http.responseText)
// Comience a obtener los datos devueltos después del procesamiento del lado del servidor. La configuración que establezco aquí debe ser datos XML; de lo contrario, se producirá un error.
//También puedes modificarlo tú mismo para que los datos devueltos sean datos binarios o de conjunto de registros............................. ..
if(Dom.parseError.errorCode!= 0) //Comprueba si se produce un error al obtener datos{
eliminar (http)
eliminar (dominio)
retorno (falso)
}
demás
{
var Atrás = Dom.documentElement.childNodes.item(0).text
//Obtener los datos XML devueltos. Supongo que el controlador solo devuelve una fila de datos XML (un nodo).
eliminar (http)
eliminar (dominio)
return(Back) //La función devuelve datos.................Fin}
}
VAR CAT = Enviar("<Información de usuario><Nombre>Xie Meng</Nombre></Información de usuario>"," HTTP://WWW.CHINAASP.COM/VIVA.ASP ") //Ejecutar función
SI(GATO == FALSO)
{
ALERT("Lo siento. El controlador devolvió FALSO. El procesamiento de datos falló...")
}
DEMÁS
{
SI(EVAL(CAT))
{
ALERT("OK. Los datos se han enviado correctamente. ¡¡¡Y el procesamiento se ha completado!!!!!!")
}
DEMÁS
{
ALERT("Lo siento. El controlador devolvió FALSO. El procesamiento de datos falló...")
}
}
===============================VIVA.ASP================ = ==============
EN ERROR REANUDAR SIGUIENTE
BOBO OSCURO
MOMO DIM
SET BOBO = SERVIDOR.CREATEOBJECT("MICROSOFT.XMLDOM")
BOBO.ASYNC = FALSO
SOLICITUD DE CARGA BOBO
SI BOBO.PARSEERROR.ERRORCODE <> 0 ENTONCES
RESPONSE.WRITE("<Resultado del procesamiento del programa><Resultado final>FALSO</Resultado final></Resultado del procesamiento del programa>")
DEMÁS
SET MOMO = BOBO.DOCUMENTELEMENTO
SI MOMO.CHILDNODES.ITEM(0).TEXT = "Xie Meng" ENTONCES
RESPONSE.WRITE("<Resultado del procesamiento del programa><Resultado final>TRUE</Resultado final></Resultado del procesamiento del programa>")
DEMÁS
RESPONSE.WRITE("<Resultado del procesamiento del programa><Resultado final>FALSO</Resultado final></Resultado del procesamiento del programa>")
FINALIZAR SI
FINALIZAR SI
SET BOBO = NADA