以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML源码及示例(仅原创和转载) 』  (http://bbs.xml.org.cn/list.asp?boardid=32)
----  MSXML. xmlhttp 的应用参考  (http://bbs.xml.org.cn/dispbbs.asp?boardid=32&rootid=&id=7521)


--  作者:cwzb
--  发布时间:5/14/2004 7:19:00 PM

--  MSXML. xmlhttp 的应用参考
XMLHTTP应用参考
一、使用步骤:
1、创建XMLHTTP对象 //需MSXML4.0支持
2、打开与服务端的连接,同时定义指令发送方式,服务网页(URL)和请求权限等。客户端通过Open命令打开与服务端的服务网页的连接。与普通HTTP指令传送一样,可以用"GET"方法或"POST"方法指向服务端的服务网页。
3、发送指令。
4、等待并接收服务端返回的处理结果。
5、释放XMLHTTP对象

二、XMLHTTP方法:
Open( bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword )
bstrMethod:  数据传送方式,即GET或POST。
bstrUrl:     服务网页的URL。
varAsync:   是否同步执行。缺省为True,即同步执行,但只能在DOM中实施同步执行。用中一般将其置为False,即异步执行。
bstrUser:    用户名,可省略。
bstrPassword:用户口令,可省略。

Send( varBody )
varBody:指令集。可以是XML格式数据,也可以是字符串,流,或者一个无符号整数数组。也可以省略,让指令通过Open方法的URL参数代入。

setRequestHeader( bstrHeader, bstrValue )
bstrHeader:HTTP 头(header)
bstrValue: HTTP 头(header)的值

如果Open方法定义为POST,可以定义表单方式上传:
xmlhttp.setRequestHeader( "Content-Type", "application/x-www-form-urlencoded")

三、XMLHTTP属性:
onreadystatechange:在同步执行方式下获得返回结果的事件句柄。只能在DOM中调用。
responseBody:    结果返回为无符号整数数组。
responseStream:   结果返回为IStream流。
responseText :    结果返回为字符串。
responseXML:    结果返回为XML格式数据。

四、示例:
< script language="JavaScript" >
function getDatal(url){
    var xmlhttp = new ActiveXObject("MSXML2.XMLHTTP.4.0");//创建XMLHTTPRequest对象,需MSXML4.0支持 ["MSXML2.XMLHTTP.4.0","MSXML2.DOMDocument.4.0"]
    xmlhttp.open("GET",url,false,"","");   //使用HTTP GET初始化HTTP请求
    xmlhttp.send("");                   //发送HTTP请求并获取HTTP响应
    return xmlhttp.responseXML;         //获取XML文档
}
< /script >



--  作者:cwzb
--  发布时间:5/14/2004 7:20:00 PM

--  
这个资料网上有.不过,这是经过我整理的,希望能帮上诸位点儿.
--  作者:kittypig
--  发布时间:8/9/2004 11:37:00 AM

--  
为什么我照着你的示例来做,只在你的javascript里加了一句 alert(xmlhttp.responseXML.xml);
我的url是"http://localhost/WebApplication1/WebForm1.aspx";因为xml是动态生成的,但是我的弹出框却看不到这个xml啊?
--  作者:astorney
--  发布时间:3/29/2005 4:16:00 PM

--  
以下是引用kittypig在2004-8-9 11:37:32的发言:
为什么我照着你的示例来做,只在你的javascript里加了一句 alert(xmlhttp.responseXML.xml);
我的url是"http://localhost/WebApplication1/WebForm1.aspx";因为xml是动态生成的,但是我的弹出框却看不到这个xml啊?


//注意这一行必须加上 说明本文件为文本文件
header('Content-Type: text/xml');


--  作者:linghun1
--  发布时间:4/14/2005 1:33:00 PM

--  
var oXmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
var XMLDoc

function loadValue(){
    oXmlHttp.Open("POST", "/modifyuserservlet", false);
    oXmlHttp.setRequestHeader("Content-Type", "text/xml");
    oXmlHttp.onreadystatechange = complete;
    oXmlHttp.Send("userXML.xml");
   }

  function complete(){
   if (oXmlHttp.readyState == 4) {
    var sResponseText = oXmlHttp.responseText;
    var XMLDoc = new ActiveXObject("Msxml2.DOMDocument");
    XMLDoc.loadXML(sResponseText);
    
   }
  }


想在complete动作里,做了判断,如果数据发送正确,出现"发送成功",否则做个confirm,选择是否继续,按确定显示错误报告,按取消,返回服务器,望给予帮助,谢谢!


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
42.969ms