Объекты XMLHTTP и их методы————————————————————————
MSXML предоставляет объект Microsoft.XMLHTTP, который может выполнять задачи преобразования и отправки из пакетов данных в объекты Request.
Инструкция для создания объекта XMLHTTP выглядит следующим образом:
Установите objXML = CreateObject("Msxml2.XMLHTTP") или
Установите objXML = CreateObject("Microsoft.XMLHTTP")
' Или, для версии 3.0 XMLHTTP, используйте:
' Установить xml = Server.CreateObject("MSXML2.ServerXMLHTTP")
После создания объекта вызовите метод Open для инициализации объекта Request. Формат синтаксиса:
http-метод poster.open, URL, асинхронный, идентификатор пользователя, пароль
Метод Open содержит 5 параметров, первые три являются обязательными, а последние два являются необязательными (предоставляются, когда сервер требует аутентификации). Смысл параметров следующий:
http-метод: метод связи HTTP, например GET или POST.
url: URL-адрес сервера, который получает данные XML. Обычно в URL указывается программа ASP или CGI.
async: логический флаг, указывающий, является ли запрос асинхронным. Если это асинхронный режим связи (истина), клиент не ждет ответа сервера; если это синхронный режим (ложь), клиент должен дождаться, пока сервер вернет сообщение, прежде чем выполнять другие операции.
userID Идентификатор пользователя, используемый для аутентификации сервера
пароль Пароль пользователя, используемый для аутентификации сервера
После того как метод Send объекта XMLHTTP инициализирует объект Request с помощью метода Open, вызовите метод 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: рассматривать возвращенное сообщение как объект Stream.
Следующий XML-файл создается динамически и затем отправляется с помощью xmlHTTP. Это содержимое клиентского сценария JavaScript. Конечно, вы также можете записать его на сервере, но вам необходимо соответствующим образом изменить некоторые вещи: (Только для справки. , поймите это использование)
var xmlDoc=new ActiveXObject("MSXML2.DOMDocument");
flag=xmlDoc.loadXML("");
newNode =xmlDoc.createElement("кодирование")
MarkNode=xmlDoc.documentElement.appendChild(newNode);
newNode =xmlDoc.createElement("StartMark")
newNode.text=StartMark;
MarkNode.appendChild(newNode)
newNode =xmlDoc.createElement("EndMark")
newNode.text=Отметка конца;
MarkNode.appendChild(newNode)
newNode =xmlDoc.createElement("Дата")
DateNode=xmlDoc.documentElement.appendChild(newNode);
newNode =xmlDoc.createElement("ДатаНачала");
newNode.text = Дата начала;
DateNode.appendChild(newNode)
newNode =xmlDoc.createElement("EndDate")
newNode.text=ДатаКонца;
DateNode.appendChild(newNode);
newNode =xmlDoc.createElement("Количество")
SLNode =xmlDoc.documentElement.appendChild(newNode);
newNode =xmlDoc.createElement("StartSL")
newNode.text=StartShuL
SLNode.appendChild(новыйузел)
newNode =xmlDoc.createElement("EndSL");
newNode.text=EndShuL
SLNode.appendChild(newNode);
newNode =xmlDoc.createElement("цена за единицу")
DJNode =xmlDoc.documentElement.appendChild(newNode)
newNode =xmlDoc.createElement("StartDJ")
newNode.text=StartDanJ;
DJNode.appendChild(newNode);
newNode =xmlDoc.createElement("EndDJ")
newNode.text=EndDanJ;
DJNode.appendChild(newNode);
newNode =xmlDoc.createElement("сумма")
JENode =xmlDoc.documentElement.appendChild(newNode)
newNode =xmlDoc.createElement("StartJE")
newNode.text=StartJinE
JENode.appendChild(новыйузел)
newNode =xmlDoc.createElement("EndJE")
newNode.text=EndJinE
JENode.appendChild(новыйузел)
newNode =xmlDoc.createElement("код хранилища")
новыйУзел.текст = СК;
xmlDoc.documentElement.appendChild(newNode)
newNode =xmlDoc.createElement("номер билета")
newNode.text=РКПХ;
xmlDoc.documentElement.appendChild(newNode)
newNode =xmlDoc.createElement("код модуля")
newNode.text=Имя корпорации;
xmlDoc.documentElement.appendChild(newNode)
newNode =xmlDoc.createElement("БиаоШи")
newNode.text=Бяоши
xmlDoc.documentElement.appendChild(newNode)
newNode =xmlDoc.createElement("FindCate")
newNode.text=НайтиКате
xmlDoc.documentElement.appendChild(newNode)
var xh = новый ActiveXObject("MSXML2.XMLHTTP")
xh.open("POST","Find.asp",false)
xh.setRequestHeader("Тип контента","текст/xml")
xh.setRequestHeader("Тип контента","gb2312")
xh.send(xmlDoc);
Текстовое значение каждого моего нового узла — это переменная, которая является входным значением в моей клиентской форме.