国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
使用XMLHTTP Request Object獲取服務(wù)器數(shù)據(jù)
在Web客戶端使用xmlhttp對象,可以十分方便的和服務(wù)器交換數(shù)據(jù),我們可以獲取和發(fā)送任何類型的數(shù)據(jù),甚至二進制數(shù)據(jù)到服務(wù)器上。xmlhttp技術(shù)同時也是目前大多數(shù)無刷新頁面使用的和服務(wù)器交換數(shù)據(jù)的方式,這種方式比以往的隱藏iframe的方法要方便和經(jīng)濟的多。

    同時讓我們高興得是xmlhttp并不是IE特有的東西,雖然目前還不是W3C的標(biāo)準(zhǔn),不過IE, Netscape/Mozilla, 和Safari都支持。在IE中我們使用new ActiveXObject('MSXML2.XMLHTTP')或者new ActiveXObject("Microsoft.XMLHTTP")來獲得的xmlhttp對象實例,使用前者還是后者和客戶端機器安裝的MSXML版本有關(guān)。在Netscape/Mozilla和Safari中,使用new XMLHttpRequest()來獲得xmlhttp對象實例。比如在IE中,我們通常這樣使用:
var xmlhttp = null
try 

    xmlhttp 
= new ActiveXObject("MSXML2.XMLHTTP"); 

catch(e) 

    
try 
    { 
        xmlhttp 
= new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    
catch(e2){} 

 


    使用xmlhttp對象其實是并不是什么困難的事,它一共就6個方法8個屬性。不過它最主要的是提供了兩種執(zhí)行模式:同步模式和異步模式。同步模式可以比較精確的控制程序流程,可是如果服務(wù)器的Response太慢,browser會有死掉失去相應(yīng)的問題;而使用異步模式由于是事件觸發(fā)方式控制流程,會給程序運行帶來一些不可與預(yù)計的問題,因為你不知道客戶端等待服務(wù)器Response的過程中,用戶會在browser里做什么操作

。 

    下面是一個同步方式獲取服務(wù)器數(shù)據(jù)的簡單示例:

function GetRemoteData(url)
{
    
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    
try
    {  
         xmlhttp.open('GET', url, 
false);
         
if ( xmlhttp.status == 200 )
         {
             
return xmlhttp.responseText;
         }
         
throw ''; 
    }
    
catch(e)
    {
         
return '';
    }
}


    XMLHTTP對象的屬性和方法列表(來自IXMLHTTPRequest接口):

   
Name Type Description
onreadystatechange N/A 指定當(dāng)就緒狀態(tài)發(fā)生改變時調(diào)用的事件處理函數(shù),僅用于異步操作 
readyState Long 異步操作的狀態(tài):未初始化(0),正在加載(1),已加載(2),交互(3),已完成(4)
responseBody Variant 將響應(yīng)信息正文作為unsigned byte數(shù)組返回
responseStream Variant 將響應(yīng)信息正文作為一個ADO Stream對象返回
responseText String 將響應(yīng)信息正文作為一個文本字符串返回
responseXML Object 通過XMLDom將響應(yīng)信息正文解析為XMLDocument對象
status Long 服務(wù)器返回的HTTP狀態(tài)碼
statusText String 服務(wù)器HTTP響應(yīng)行狀態(tài)
   
Name Desciption
abort 取消當(dāng)前 HTTP 請求
getAllResponseHeaders 從響應(yīng)信息中檢索所有的標(biāo)頭字段
getResponseHeader 從響應(yīng)信息正文中獲得一個 HTTP 標(biāo)頭值
open(method, url, boolAsync, bstrUser, bstrPassword) 打開一個與 HTTP 服務(wù)器的連接
send(varBody) 設(shè)定一個請求的標(biāo)頭字段
setRequestHeader(bstrHeader, bstrValue) 向 HTTP 服務(wù)器發(fā)送請求。可包含正文。

    這里面顯然就open方法比較麻煩,帶了一大堆參數(shù),它們的含義分別是:
   
Parameter Description
method HTTP的通信方式,比如GET, HEAD, POST, PUT, DELETE, CONNECT等
url 接收數(shù)據(jù)的服務(wù)器的URL地址,URL可帶QueryString
boolAsync 一個布爾標(biāo)識,說明請求是否為異步的。如果是異步通信方式,客戶端就不等待服務(wù)器的響應(yīng);如果是同步方式,客戶機會等到服務(wù)器返回消息后才去執(zhí)行其它操作
bstrUser 用戶ID,用于服務(wù)器身份驗證
bstrPassword 用戶密碼,用于服務(wù)器身份驗證

    異步通訊的示例:

xmlhttp.open("GET""default.aspx"true);
xmlhttp.onreadystatechange 
= function()
{
    
if ( xmlhttp.readyState==4 )
    {
        alert(xmlhttp.responseText);
    }
}
xmlhttp.send(
null);


    其實使用xmlhttp就這么簡單,復(fù)雜的是服務(wù)器端數(shù)據(jù)的組織方式,而且需要開發(fā)人員同時熟悉Client和Server端的開發(fā),才能事半功倍??墒呛孟裾f了半天這個玩意兒和xml沒有什么關(guān)系啊,怎么叫xmlhttp呢?我們注意到response的數(shù)據(jù)類型中有一個responseXML,不過它解析返回的XMLDocument屬于XMLDOM的內(nèi)容了,和使用xmlhttp來和服務(wù)器通訊的關(guān)系并不大,以后再來細說。

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
XMLHTTP對象的屬性和方法
WCF與AJAX編程開發(fā)實踐(1):AJAX基礎(chǔ)概念和純AJAX示例
ajax
到得xmlhttp對象 [和訊博客]
AJAX原理
Ajax的經(jīng)典示例
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服