2010-08-16 51 views
1

我有一个测试表单(如下所示),如果手动提交(单击Submit按钮),将返回操作脚本中的XML列表。将xml通过查询字符串传递给传统ASP表单

我希望能够通过xmlHTTP传递测试HTML表单programmaticaly中包含的XML。到目前为止没有运气。任何帮助,将不胜感激。

<form action="processorders.asp" method="post" name="Orders" target="_blank"> 
    <textarea cols="80" rows="10" name="request"> 
    <REQUEST Version="1.0"> 
     <RequestID>06012005171718</RequestID> 
     <Command>Orders</Command> 
     <UserID>myuserID</UserID> 
     <Password>xyzuvw</Password> 
     <Status>all</Status> 
     <SecurityKey></SecurityKey> 
     <OrderStartNumber>2255</OrderStartNumber>   
     </REQUEST> 
    </textarea><br> 
    <input type="submit"> 
</form> 
+0

@Eddins运行它所以,你要使用Web浏览器来发送通过XML protocolo改为HTTP HTML POST? – cregox 2010-08-16 21:11:36

+0

@J Eddins在你想要做的事情上添加更多细节......你想要一个自动提交此表单的网页?或者您想要嵌入在将此xml异步发送到服务器的网页中的JavaScript代码? – 2010-08-18 23:13:39

回答

1

未经检验的,但你可以尝试这样的事:

Dim objXMLHTTP, returncode, XMLstring 
XMLstring = "<REQUEST Version=""1.0"">" 
XMLstring = XMLstring & "<RequestID>06012005171718</RequestID>" 
XMLstring = XMLstring & "<Command>Orders</Command>" 
XMLstring = XMLstring & "<UserID>myuserID</UserID>" 
XMLstring = XMLstring & "<Password>xyzuvw</Password>" 
XMLstring = XMLstring & "<Status>all</Status>" 
XMLstring = XMLstring & "<SecurityKey></SecurityKey>" 
XMLstring = XMLstring & "<OrderStartNumber>2255</OrderStartNumber>" 
XMLstring = XMLstring & "</REQUEST>" 
' Create an xmlhttp object: 
Set objXMLHTTP = Server.CreateObject("Microsoft.XMLHTTP") 
' Or, for version 3.0 of XMLHTTP, use: 
' Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP") 
' Open the connection to the remote server: 
objXMLHTTPOpen "POST", "http://url.to.your/target", False 
objXMLHTTP.Send cstr(XMLstring) 
' Actually Sends the request and returns the data: 
returncode = objXMLHTTP.responseText 
Set objXMLHTTP = Nothing 
' Now do with the returncode what you like (this is the response HTML form the target URL) 

请注意: - 你正在通过不安全的HTTP线 发送用户名和密码的数据 - 的XML不验证或解析的,则可能需要通过一个XML解析器

波多黎各倜傥

相关问题