濮阳杆衣贸易有限公司

主頁 > 知識庫 > 服務器XMLHTTP(Server XMLHTTP in ASP)基礎知識

服務器XMLHTTP(Server XMLHTTP in ASP)基礎知識

熱門標簽:創(chuàng)意電話機器人 濟源電銷外呼系統(tǒng)線路 武穴地圖標注 世界地圖標注了哪些城市 外呼線路批發(fā) 梧州市地圖標注 地圖標注陽江 java外呼系統(tǒng)是什么 石家莊慧營銷外呼系統(tǒng)
相對于 Ajax,服務端 XMLHTTP 就是在服務端使用 XMLHttpRequest 對象了。雖然說,在服務端使用異步請求是比較不方便的,但是做為可以服務端發(fā)送 HTTP 請求的組件,學習一下也是沒有壞處的。
這里,我講的是在 ASP 環(huán)境中使用服務端 XMLHttpRequest,并以 JScript 做為演示代碼的語言,因此,你需要了解 ASP 以及 JScript。
服務端 XMLHTTP,通常會用在獲取遠程主機的網(wǎng)頁或者其他內(nèi)容,新聞聚合系統(tǒng)一般就是使用服務端 XMLHTTP 對象來獲取要聚合的 Feed 的內(nèi)容,然后使用 XMLDOM 對象來分析 Feed 的內(nèi)容,取出新聞的標題、作者、內(nèi)容等信息,再存在數(shù)據(jù)庫中,然后將若干個數(shù)據(jù)源的新聞一起顯示在一起。抓蝦就是這樣一個新聞聚合器,但是它不是用 ASP 寫的就是了 :)
在 ASP 中,我們可以用以下代碼來創(chuàng)建一個 ServerXMLHTTP 對象,而這個對象,就是我們在服務端進行一切操作的基礎。
復制代碼 代碼如下:

var xmlhttp = new ActiveXObject("MSXML2.ServerXMLHTTP.5.0");

首先來了解一下 ServerXMLHTTP 對象有哪些比較有用的方法:

1. abort 這個方法用于取消 XMLHTTP 的請求。如果 XMLHTTP 對象以異步方式發(fā)送請求,如果到達一定的時間請求仍然沒有返回,就可以使用這個方法來取消請求。

2. getAllResponseHeaders 這個方法的返回值是一個字符串,相當于 HTTP 請求的頭部去掉了請求方法、URI和協(xié)議版本信息。

3. getResponseHeader 這個方法用來獲取指定頭部信息,比較有用的就是可以用來獲取返回數(shù)據(jù)的 Content-Type、Referer 等。

4. open 使用指定的請求方法、URI和同步方式以及認證信息等初始化一個請求。

5. send 發(fā)送 HTTP 請求,等待接收響應數(shù)據(jù),注意,如果是以同步方式發(fā)送請求,send方法調(diào)用后不會立即返回,而是等到請求完成后才會返回,而以異步方法請求時,則會立即返回。另外,send方法帶有一個可選參數(shù)body,表示要發(fā)送的數(shù)據(jù),這在使用 POST 方法時比較有用。

6. setTimeout 設置 ServerXMLHTTP 對象的 4 個超時時間,分別是:域名解析、連接服務器、發(fā)送數(shù)據(jù)、接收響應??梢酝ㄟ^設置相應的超時時間來控制 ServerXMLHTTP 對象,以免 ServerXMLHTTP 不能及時返回而造成程序停止響應。

7. setRequestHeader 設置請求的 Header,在客戶端 XMLHttpRequest中,通常用來設置請求的數(shù)據(jù)類型,或者標識請求的方法等等,例如 jquery 會增加頭部標識 X-Request-With,表示請求是從 XMLHttpRequest 對象發(fā)出,以方便服務端做出相應的動作。

8. waitForResponse 在使用異步方式發(fā)送請求時,可以用這個方法來控制請求的進程。在服務端腳本中,不可以像客戶端那樣直接使用回調(diào)函數(shù)來控制異步請求,也沒有相應的函數(shù)來使用程序休眠一定的時間,因此,為了等待請求返回,我們可以使用這個方法來等待一定時間。
另外,還有其他一些方法,如 getOption、setOption、setProxy 等,這些方法用得比較少,因此這里不再介紹,需要了解的朋友可以查閱 MSDN。

接下來,再看看 ServerXMLHTTP 對象的屬性:

1. onreadystatechange XMLHTTP 對象狀態(tài)改變時的回調(diào)函數(shù),這個屬性為異步操作奠定了一個基礎,可以讓程序在不用查詢 XMLHTTP 對象狀態(tài)的情況獲知 XMLHTTP 操作是否已經(jīng)完成。

2. readyState XMLHTTP 對象狀態(tài),有 5 個值,從 0 到 4,分別代表的意思是:
0 - 未初始化,剛使用 new ActiveXObject("MSXML.ServerXMLHTTP.5.0") 創(chuàng)建時對象所處的狀態(tài)
1 - 載入中,這個時候,已經(jīng)調(diào)用了 open 方法,但是還沒有使用 send 方法發(fā)送數(shù)據(jù)
2 - 已經(jīng)載入,已經(jīng)調(diào)用了 send 方法發(fā)送數(shù)據(jù),但是還沒有可用的響應流
3 - 正在交互,正在接收數(shù)據(jù),這個時候可以使用 responseBody 和 responseText 屬性來獲取已經(jīng)得到的部分數(shù)據(jù)了
4 - 完成請求,全部數(shù)據(jù)已經(jīng)接收完成
通常情況下,我們只需要判斷一下狀態(tài) 4 即可,這個時候數(shù)據(jù)已經(jīng)全部載入,使用 responseBody 或 responseText 屬性就能獲取需要的數(shù)據(jù)。
3. status HTTP 響應狀態(tài)碼,正常情況應該為 200,如果請求的資源不存在,就會返回 404,還有其他狀態(tài)碼如服務器錯誤 500 等。
4. statusText HTTP 響應狀態(tài)文本,用于描述響應狀態(tài)碼所代表的意思,諸如 200 OK 中的 OK,404 Not Found 中的 Not Found
5. responseBody 響應數(shù)據(jù)的字節(jié)數(shù)組,這在 VBScript 里是可以直接使用的,但是在 JScript 里就需要轉(zhuǎn)換過了。
6. responseText 以文本方式獲取響應數(shù)據(jù)
7. responseXML 將響應數(shù)據(jù)作為一個 XMLDOM 對象來返回,這在請求的數(shù)據(jù)是一個 XML 文檔時特別有用
8. responseStream 響應流對象,這個屬性不常用
您可能感興趣的文章:
  • 從零開始學ASP.NET-基礎篇
  • 防范ASP木馬的十大基本原則強列建議看下
  • Jquery Autocomplete 結(jié)合asp.net使用要點
  • ASP.NET中實現(xiàn)文件的保護性下載基礎篇
  • ASP.NET筆記之Session、http、web開發(fā)原則、xss漏洞的詳細介紹
  • asp對復雜json的解析一定要注意要點
  • ASP新手必備的基礎知識
  • ASP編碼必備的8條原則

標簽:揭陽 唐山 淮北 南寧 甘南 滁州 來賓 迪慶

巨人網(wǎng)絡通訊聲明:本文標題《服務器XMLHTTP(Server XMLHTTP in ASP)基礎知識》,本文關(guān)鍵詞  服務器,XMLHTTP,Server,ASP,基礎知識,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《服務器XMLHTTP(Server XMLHTTP in ASP)基礎知識》相關(guān)的同類信息!
  • 本頁收集關(guān)于服務器XMLHTTP(Server XMLHTTP in ASP)基礎知識的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    大洼县| 武安市| 游戏| 深泽县| 蒙城县| 镇平县| 青州市| 郯城县| 禹州市| 阿拉善右旗| 交城县| 中方县| 云霄县| 察隅县| 碌曲县| 昌邑市| 灵寿县| 尤溪县| 饶平县| 黔西| 潞西市| 安国市| 蒙阴县| 开平市| 贡山| 疏勒县| 集安市| 台安县| 静安区| 金门县| 静乐县| 布尔津县| 安康市| 安宁市| 昭平县| 乳山市| 朝阳县| 南充市| 探索| 朝阳区| 林州市|