Доступ к данным XMLHttpRequest в классическом ASP - PullRequest
1 голос
/ 04 октября 2011

Большинство вопросов, которые я нахожу на классических ASP и XHR, касаются того, как создавать и отправлять запрос XMLHttpRequest с классическим ASP. В моем случае я хочу прочитать данные, отправленные в XHR с классическим ASP.

Я совсем не знаком с классическим ASP; Я пишу (как можно меньше кода) в VBScript. Я отправил XHR на сервер, используя POST как метод, с request.send (data) в javascript.

Как мне теперь получить доступ к этим данным на сервере. Я предполагаю, что он хранится где-то в объекте Request, но я не могу найти его или заставить его работать. Данные хранятся в Request.ServerVariables? Или мне нужно использовать метод BinaryRead?

EDIT : согласно комментарию AnthonyWJones, я не указал формат данных. Но я предполагаю, что хотел бы иметь возможность отправлять данные в формате обычного текста, JSON или x-www-form-urlencoded.

Ответы [ 2 ]

3 голосов
/ 04 октября 2011

Это помогло бы, если бы вы указали, какие именно данные вы отправляете. Я предполагаю, что вы публикуете некоторые XML. В этом случае вы можете использовать метод MSXML DOMDocument Load.

  Dim xml: Set xml = CreateObject("MSXML2.DOMDocument.3.0")
  xml.async = False
  xml.SetProperty "SelectionLanguage", "XPath"
  xml.Load Request

Обратите внимание на передачу объекта ASP-запроса непосредственно в метод Load. Объект, недостаточно хорошо документированный объектом ASP Request, реализует стандартный интерфейс COM IStream, поэтому любой объект, который может прочитать его данные из IStream (например, DOMDocument`), может быть передан объекту ASP Request.

2 голосов
/ 29 февраля 2012

В дополнение к принятому ответу, который является полностью правильным, вы также можете установить:

xml.validateOnParse = true

Или ложь, в зависимости от ваших предпочтений.

Относительно:

"Где я могу найти различные параметры для функции CreateObject ()?"

Есть так много разных объектов, которые вы можете создать. Это зависит от того, что установлено на вашем сервере. Как будто у вас может не быть документа .3.0 dom. У Devguru есть список некоторых встроенных объектов, таких как файловая система, словарь и т. Д .: http://www.devguru.com/technologies/vbscript/13990.asp.

Другими распространенными являются CDONTS.Mail для почты, strCat.Catter, ADODB.Recordset / Command, MSxml2.ServerXMLHttp, WScript.Shell, различные объекты шифрования, различные сторонние утилиты, такие как SoftArtisans или IPWorks и т. Д.

...