WEB方式请求 |
刷新当前页 开启一个新的IE窗口:提交表单<form target ="_blank" |
XMLHTTP |
XMLHTTP对象得到 |
SOAPTOOL |
SOAPTOOL对象得到 |
请求的应用范围
WEB方式请求 |
IE中 |
XMLHTTP |
IE中,应用程序中 |
SOAPTOOL |
IE中,应用程序中 |
请求在IE中的安全级别
WEB方式请求 |
任意 |
XMLHTTP |
Win2003 SP1 默认可使用 |
SOAPTOOL |
Win2003 SP1 默认加入信任站点可使用 |
请求组件的发布方式
WEB方式请求 |
不需 |
XMLHTTP |
XML DOM 3 /4/5/6安装包 IE6默认带XML DOM 3 |
SOAPTOOL |
SOAPTOOL 2.0 3.0 安装包 |
WEB页GET方式请求ASPX
URL方式 |
http://localhost/ajax/s_get.aspx?Text1=wxd&Text2=lzm |
WEB页 |
<form id="get_form" action ="s_get.aspx" method ="get" > <input name="Text1" type="text" /> <input name="Text2" type="text" /><br /> <input id="Reset1" type="reset" value="reset" /> <input id="Submit1" type="submit" value="submit" /> </form> |
ASPX |
{ s_get.aspx} Dim a = Request.QueryString("Text1") Dim b = Request.QueryString("Text2") Me.Response.Write(a + b) Me.Response.End() Me.Response.Write("你不应看到这条信息") |
WEB页POST方式请求ASPX
WEB页 |
<form id="get_form" action ="s_post.aspx" method="post" > <input name="Text1" type="text" /> <input name="Text2" type="text" /><br /> <input id="Reset1" type="reset" value="reset" /> <input id="Submit1" type="submit" value="submit" /> </form> |
ASPX |
{ s_POST.aspx} Dim a = Request.Form.Item("Text1") Dim b = Request.Form.Item("Text2") Me.Response.Write(a + b) Me.Response.End() Me.Response.Write("你不应看到这条信息") |
WEB页POST方式请求WebService
WEB页 |
<form id="get_form" action ="WebService.asmx/HelloWorld" method="post" > <input name="Text1" type="text" /> <input name="Text2" type="text" /><br /> <input id="Reset1" type="reset" value="reset" /> <input id="Submit1" type="submit" value="submit" /> </form> |
asmx |
{WebService.asmx} <WebMethod()> _ Public Function HelloWorld(ByVal Text1 As String, ByVal Text2 As String) As String Return Text1 + Text2 End Function |
返回值 |
<?xml version="1.0" encoding="utf-8"?> <string xmlns="http://tempuri.org/">string</string> |
XMLHTTP使用POST方式请求ASPX
WEB页 |
<input type=button name=wxd value="请求"> <script language=vbs> dim aa 'xmlhttp对象 sub wxd_onclick '按钮单击事件 set aa = createobject("microsoft.xmlhttp") aa.onreadystatechange=getref("aaa") '请求有响应时的回调程序 aa.open "POST","s_POST.aspx",True '使用POST方式,导步请求
'在HTTP协议中,指定请求的方式为POST ,setRequestHeader方法要在open后使用 aa.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" aa.send "Text1=1&Text2=2"'开始请求,POST方式为数据的串方式 end sub sub aaa '请求有响应时的回调程序 select case aa.readystate case 0 '0:没初始化 case 1 '1: 对象已建立,但尚未连接 case 2 '2:正在加载文件中 case 3 '3: 文件加载完成,正在检查正确性 case 4 '4:得到返回信息,可以使用接收 msgbox aa.responsetext '显示返回的内容 end select end sub </script> |
ASPX |
{ s_POST.aspx} Dim a = Request.Form.Item("Text1") Dim b = Request.Form.Item("Text2") Me.Response.Write(a + b) Me.Response.End() Me.Response.Write("你不应看到这条信息") |
XMLHTTP使用GET方式请求ASPX
WEB页 |
<input type=button name=wxd value="请求"> <script language=vbs> dim aa 'xmlhttp对象 sub wxd_onclick '按钮单击事件 set aa = createobject("microsoft.xmlhttp") aa.onreadystatechange=getref("aaa") '请求有响应时的回调程序 aa.open "GET","s_get.aspx?Text1=wxd&Text2=lzm",true'使用GET方式,导步请求 aa.send "" '开始请求,GET方式为空,POST方式为数据 end sub sub aaa '请求有响应时的回调程序 select case aa.readystate case 0 '0:没初始化 case 1 '1: 对象已建立,但尚未连接 case 2 '2:正在加载文件中 case 3 '3: 文件加载完成,正在检查正确性 case 4 '4:得到返回信息,可以使用接收 msgbox aa.responsetext '显示返回的内容 end select end sub </script> |
ASPX |
{ s_get.aspx} Dim a = Request.QueryString("Text1") Dim b = Request.QueryString("Text2") Me.Response.Write(a + b) Me.Response.End() Me.Response.Write("你不应看到这条信息") |
XMLHTTP使用POST方式请求WEBService
<input type=button name=wxd value="请求"> <script language=vbs> dim aa 'xmlhttp对象 sub wxd_onclick '按钮单击事件 set aa = createobject("microsoft.xmlhttp") aa.onreadystatechange=getref("aaa") '请求有响应时的回调程序
aa.open "POST","WebService.asmx/HelloWorld",True '使用POST方式,导步请求
'在HTTP协议中,指定请求的方式为POST aa.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
aa.send "Text1=1&Text2=2" '开始请求,POST方式为数据的串方式 end sub sub aaa '请求有响应时的回调程序 select case aa.readystate case 0 '0:没初始化 msgbox aa.readystate case 1 '1: 对象已建立,但尚未连接 msgbox aa.readystate case 2 '2:正在加载文件中 msgbox aa.readystate case 3 '3: 文件加载完成,正在检查正确性 msgbox aa.readystate case 4 '4:得到返回信息,可以使用接收 msgbox aa.responsetext '显示返回的内容 end select end sub </script> |
{WebService.asmx} <WebMethod()> _ Public Function HelloWorld(ByVal Text1 As String, ByVal Text2 As String) As String Return Text1 + Text2 End Function |
<?xml version="1.0" encoding="utf-8"?> <string xmlns="http://tempuri.org/">string</string> |
XMLHTTP使用SOAP 1.1方式请求WebService
WEB页 |
<input type=button name=wxd value="请求"> <script language=vbs> dim aa 'xmlhttp对象 sub wxd_onclick '按钮单击事件 set aa = createobject("microsoft.xmlhttp") aa.onreadystatechange=getref("aaa") '请求有响应时的回调程序 aa.open "POST","WebService.asmx",True '使用POST方式,导步请求
'在HTTP协议中,指定请求的方式为SOAP1.1 ,setRequestHeader方法要在open后使用 '-------------SOAP 1.1 的HTTP头------------------------- ‘-关于SOAP1.1/ 1.2 的头格式与返回格式,可参查看WEBSERVICE的WEB页说明 aa.setRequestHeader "Content-Type", "text/xml; charset=utf-8" aa.setRequestHeader "Content-Length", "1024" '数值为请求的字节数,可以不写 aa.setRequestHeader "SOAPAction", "http://tempuri.org/HelloWorld" '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ xml="<?xml version=""1.0"" encoding=""utf-8""?><soap:Envelope xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" xmlns:soap=""http://schemas.xmlsoap.org/soap/envelope/""> <soap:Body> <HelloWorld xmlns=""http://tempuri.org/""><Text1>wxd</Text1><Text2>lzm</Text2></HelloWorld></soap:Body></soap:Envelope>" msgbox xml aa.send xml '开始请求,POST方式为数据的串方式 end sub sub aaa '请求有响应时的回调程序 select case aa.readystate case 0 '0:没初始化 case 1 '1: 对象已建立,但尚未连接 case 2 '2:正在加载文件中 case 3 '3: 文件加载完成,正在检查正确性 case 4 '4:得到返回信息,可以使用接收 msgbox aa.responseText '显示返回的内容 end select end sub </script> |
asmx |
{WebService.asmx} <WebMethod()> _ Public Function HelloWorld(ByVal Text1 As String, ByVal Text2 As String) As String Return Text1 + Text2 End Function |
返回值 |
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <HelloWorldResponse xmlns="http://tempuri.org/"> <HelloWorldResult>wxdlzm</HelloWorldResult> </HelloWorldResponse> </soap:Body> </soap:Envelope |
SOAPTOOL请求WebService
WEB页 |
<input type=button name=wxd value="请求"> <script language=vbs> sub wxd_onclick '按钮单击事件 set soapclient = CreateObject("MSSOAP.SoapClient30") '建立引用 '指定asmx的WSDL soapclient.mssoapinit "http://localhost:1026/ajax/WebService.asmx?WSDL" '调用WebService的方法HelloWorld,传参,并得到返回值 val= SoapClient.HelloWorld ("wxd","lzm") msgbox val end sub </script> |
asmx |
{WebService.asmx} <WebMethod()> _ Public Function HelloWorld(ByVal Text1 As String, ByVal Text2 As String) As String Return Text1 + Text2 End Function |