MSXML предоставляет объект Microsoft.XMLHTTP, который может выполнять задачи преобразования и отправки из пакетов данных в объекты Request.
Инструкция для создания объекта XMLHTTP выглядит следующим образом:
Set objXML = CreateObject("Msxml2.XMLHTTP") или
Установите objXML = CreateObject("Microsoft.XMLHTTP")
' Или, для версии 3.0 XMLHTTP, используйте:
' Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP")
После создания объекта вызовите метод Open для инициализации объекта Request. Формат синтаксиса:
http-метод poster.open, URL, async, userID, пароль.
Метод Open содержит 5 параметров, первые три обязательны, последние два необязательны (предоставляются, когда сервер требует аутентификации). Значение параметров следующее:
http-метод: метод связи HTTP, например GET или POST.
URL-адрес: URL-адрес сервера, который получает данные XML. Обычно в URL-адресе указывается асинхронность программы ASP или CGI
: логический флаг, указывающий, является ли запрос асинхронным. Если это асинхронный режим связи (истина), клиент не ждет ответа сервера; если это синхронный режим (ложь), клиент должен дождаться, пока сервер вернет сообщение, прежде чем выполнять другие операции
с идентификатором пользователя, идентификатором пользователя, используется для аутентификации сервера
. Пароль пользователя, используемый для аутентификации сервера.
Метод Send объекта XMLHTTP
использует метод Open для инициализации объекта Request, а затем вызывает метод Send для отправки XML-данных:
poster.send
XML-данные.
Тип параметра метода Send — Variant, который может быть строкой, деревом DOM или произвольным потоком данных. Существует два способа отправки данных: синхронный и асинхронный. В асинхронном режиме после отправки пакета данных процесс отправки завершается, и клиент выполняет другие операции; в синхронном режиме клиент ждет, пока сервер не вернет подтверждающее сообщение, прежде чем завершить процесс отправки.
Атрибут ReadyState в объекте XMLHTTP может отражать ход обработки сервером запроса. Клиентская программа может установить соответствующий метод обработки событий на основе этой информации о состоянии. Значения атрибутов и их значения показаны в следующей таблице:
Значение Описание
0 Объект Response создан, но процесс загрузки XML-документа еще не завершен.
1 XML-документ загружен.
2 XML-документ загружен и находится в обработке.
3 Часть XML-документа была проанализирована
4 Документ проанализирован, и клиент может принять ответное сообщение.
Клиент обрабатывает ответную информацию.
После получения ответного сообщения клиент выполняет простую обработку, которая, по сути, завершает цикл взаимодействия между C/S. Клиент получает ответ через атрибуты объекта XMLHTTP:
● responseTxt: обрабатывает возвращаемое сообщение как текстовую строку;
● responseXML: обрабатывает ответное сообщение как XML-документ, используемый, когда ответное сообщение сервера содержит данные XML;● responseStream: обрабатывает возвращаемое сообщение
как XML-документ.
Возвращенное сообщение обрабатывается как объект Stream------ это следующая очень простая функция JAVASCRIPT SEND(STR,URL) ------------- --
Используются объекты XMLDOM и XMLHTTP. Преимущество использования этой технологии: полное управление JS, удобное/простое, намного лучше, чем RDS или удаленное управление (предварительное условие: как на сервере, так и на клиенте должен быть установлен IE5 или выше), нет. -обновить информацию в Интернете, которую я разместил. Функция также использует эту технологию. Друзья, которые заинтересованы, могут посмотреть.
Функция Send(Str,URL)
//Параметр STR — это переданные XML-данные. Вы также можете передать другие текстовые данные.
//Однако эта функция должна быть обработана сервером и возвращена в данные XML. Вы также можете изменить ее.
//Параметр URL представляет собой адрес файла ASP данных, которые вы хотите обработать.
{
var Http = new ActiveXObject("Microsoft.XMLHTTP") //Создаем объект XMLHTTP var Dom = new ActiveXObject("Microsoft.XMLDOM") //Создаем объект XMLDOM Http.open("POST",URL,false)
//Первый параметр означает отправку данных методом «POST». Его размер может достигать 4 МБ, или его можно изменить на «GET». Он может составлять только 256 КБ.
//Второй параметр означает, в какой файл отправляются данные для обработки //Третий параметр означает синхронный или асинхронный режим, TRUE означает асинхронный, FALSE означает синхронный Http.send(Str) //Начать отправку данных.... .. .......звуковой сигнал..
Dom.async=false //Настроено на синхронное получение данных Dom.loadXML(Http.responseText)
//Начнем получать данные, возвращенные после обработки на стороне сервера. Настройки, которые я здесь установил, должны быть данными XML, иначе произойдет ошибка.
//Вы также можете изменить его самостоятельно, чтобы возвращаемые данные были двоичными или данными набора записей............................. ..
if(Dom.parseError.errorCode != 0) //Проверяем, возникает ли ошибка при получении данных{
удалить (Http)
удалить (Дом)
возврат (ложь)
}
еще
{
var Back = Dom.documentElement.childNodes.item(0).text
//Получаем возвращенные данные XML. Я предполагаю, что обработчик возвращает только одну строку данных XML (один узел).
удалить (Http)
удалить (Дом)
return(Back) //Функция возвращает данные.............Конец}
}
VAR CAT = Send("<Информация пользователя><Имя>Се Мэн</Name></Информация пользователя>"," HTTP://WWW.CHINAASP.COM/VIVA.ASP ") //Выполнить функцию
ЕСЛИ(КОТ == ЛОЖЬ)
{
ALERT("Извините. Обработчик вернул FALSE. Обработка данных не удалась...")
}
ЕЩЕ
{
ЕСЛИ(ОЦЕНКА(КОТ))
{
ALERT("ОК. Данные успешно отправлены. Обработка завершена!!!!!!")
}
ЕЩЕ
{
ALERT("Извините. Обработчик вернул FALSE. Обработка данных не удалась...")
}
}
==============================VIVA.ASP============== = =============
ПРИ ОШИБКЕ ВОЗОБНОВИТЬ СЛЕДУЮЩИЙ
ДИМ БОБО
ДИМ МОМО
SET BOBO = SERVER.CREATEOBJECT("MICROSOFT.XMLDOM")
БОБО.АСИНК = ЛОЖЬ
ЗАПРОС BOBO.LOAD
ЕСЛИ BOBO.PARSEERROR.ERRORCODE <> 0, ТО
RESPONSE.WRITE("<Результат обработки программы><Финальный результат>FALSE</Финальный результат></Результат обработки программы>")
ЕЩЕ
SET MOMO = BOBO.DOCUMENTELEMENT
IF MOMO.CHILDNODES.ITEM(0).TEXT = "Се Мэн" ТОГДА
RESPONSE.WRITE("<Результат обработки программы><Финальный результат>TRUE</Финальный результат></Результат обработки программы>")
ЕЩЕ
RESPONSE.WRITE("<Результат обработки программы><Финальный результат>FALSE</Финальный результат></Результат обработки программы>")
КОНЕЦ ЕСЛИ
КОНЕЦ ЕСЛИ
УСТАНОВИТЬ БОБО = НИЧЕГО