Asp classic 在经典ASP中访问XMLHttpRequest数据

Asp classic 在经典ASP中访问XMLHttpRequest数据,asp-classic,xmlhttprequest,Asp Classic,Xmlhttprequest,我在classic ASP和XHR上发现的大多数问题都是关于如何使用classic ASP创建和发送XMLHttpRequest。在我的例子中,我想用classic ASP读取XHR中发送的数据 我一点也不熟悉经典的ASP;我正在用VBScript编写(尽可能少的代码)。我已经使用POST as方法向服务器发送了一个XHR,并使用javascript中的request.send(数据) 现在如何访问服务器上的数据。我猜它存储在Request-object中的某个地方,但我找不到它,也无法让它工作

我在classic ASP和XHR上发现的大多数问题都是关于如何使用classic ASP创建和发送XMLHttpRequest。在我的例子中,我想用classic ASP读取XHR中发送的数据

我一点也不熟悉经典的ASP;我正在用VBScript编写(尽可能少的代码)。我已经使用POST as方法向服务器发送了一个XHR,并使用javascript中的request.send(数据)

现在如何访问服务器上的数据。我猜它存储在Request-object中的某个地方,但我找不到它,也无法让它工作。数据是否存储在Request.ServerVariables中?或者我需要使用BinaryRead方法吗


编辑:根据AnthonyWJones的评论,我没有指定数据格式。但我想我希望能够发送纯文本、JSON或x-www-form-Url编码的数据

如果您指明了实际发送的数据类型,这会有所帮助。我假设您正在发布一些XML。在这种情况下,可以使用MSXML DOMDocument加载方法

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

注意ASP请求对象直接传递给
Load
方法。ASP请求对象实现了标准COM
IStream
接口,因此任何可以从
IStream
(如DOMDocument`)读取其数据的对象都可以传递给ASP请求对象。

如果您指出了实际发送的数据类型,则会有所帮助。我假设您正在发布一些XML。在这种情况下,可以使用MSXML DOMDocument加载方法

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

注意ASP请求对象直接传递给
Load
方法。ASP请求对象实现了标准COM
IStream
接口,因此任何可以从
IStream
(如DOMDocument`)读取其数据的对象都可以传递给ASP请求对象。

除了完全正确的可接受答案外,还可以设置:

xml.validateOnParse = true
或错误,取决于您的偏好

关于:

“在哪里可以找到CreateObject()函数的不同参数?”

您可以创建很多不同的对象。这取决于服务器上安装了什么。您可能没有.3.0DOM文档。Devguru有一些内置对象的列表,如文件系统、字典等:


其他常见的有CDONTS.Mail for Mail、strCat.Catter、ADODB.Recordset/Command、MSxml2.ServerXMLHttp、WScript.Shell、各种加密对象、各种第三方实用程序,如SoftArtisans或IPWorks等。

除了完全正确的公认答案外,您还可以设置:

xml.validateOnParse = true
或错误,取决于您的偏好

关于:

“在哪里可以找到CreateObject()函数的不同参数?”

您可以创建很多不同的对象。这取决于服务器上安装了什么。您可能没有.3.0DOM文档。Devguru有一些内置对象的列表,如文件系统、字典等:


其他常见的有CDONTS.Mail for Mail、strCat.Catter、ADODB.Recordset/Command、MSxml2.ServerXMLHttp、WScript.Shell、各种加密对象、各种第三方实用程序,如SoftArtisans或IPWorks等。

Wow。12年的ASP和我从来都不知道的请求实现了IStream:)谢谢你的回答!如果我发送不同类型的数据,我想我会创建一个不同的对象?像CreateObject(一些JSON规范)?在哪里可以找到CreateObject()函数的不同参数?哇。12年的ASP和我从来都不知道的请求实现了IStream:)谢谢你的回答!如果我发送不同类型的数据,我想我会创建一个不同的对象?像CreateObject(一些JSON规范)?在哪里可以找到CreateObject()函数的不同参数?