免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

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

開通VIP
Microsoft.XMLHTTP對象詳解
 客戶端調(diào)用XMLHTTP的過程很簡單,只有5個步驟:
1、創(chuàng)建XMLHTTP對象
2、打開與服務端的連接,同時定義指令發(fā)送方式,服務網(wǎng)頁(URL)和請求權(quán)限等。
客戶端通過Open命令打開與服務端的服務網(wǎng)頁的連接。與普通HTTP指令傳送一樣,可以用"GET"方法或"POST"方法指向服務端的服務網(wǎng)頁。
3、發(fā)送指令。
4、等待并接收服務端返回的處理結(jié)果。
5、釋放XMLHTTP對象

定義XMLHTTP對象:

Set bjXML = CreateObject(Msxml2.XMLHTTP) 或
Set bjXML = CreateObject(“Microsoft.XMLHTTP”) (vbs)
var xml = new ActiveXObject("Microsoft.XMLHTTP"(javascript)
' Or, for version 3.0 of XMLHTTP, use:
Set xml = Server.CreateObject(MSXML2.ServerXMLHTTP)

XMLHTTP方法:

open(bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword)
bstrMethod:數(shù)據(jù)傳送方式,即GET或POST。用"POST"方式發(fā)送數(shù)據(jù),可以大到4MB,也可以換為"GET",只能256KB。
bstrUrl: 服務網(wǎng)頁的URL。
varAsync:是否同步執(zhí)行。缺省為True,即同步執(zhí)行,但只能在DOM中實施同步執(zhí)行。用中一般將其置為False,即異步執(zhí)行。
bstrUser: 用戶名,可省略。
bstrPassword:用戶口令,可省略。

send(varBody)
varBody:指令集??梢允荴ML格式數(shù)據(jù),也可以是字符串,流,或者一個無符號整數(shù)數(shù)組。也可以省略,讓指令通過Open方法的URL參數(shù)代入。發(fā)送數(shù)據(jù)的方式分為同步和異步兩種。在異步方式下,數(shù)據(jù)包一旦發(fā)送完畢,就結(jié)束Send進程,客戶機執(zhí)行的操作;而在同步方式下,客戶機要等到服務器返回確認消息后才結(jié)束Send進程。

setRequestHeader(bstrHeader, bstrValue)
bstrHeader:HTTP 頭(header)
bstrValue:HTTP 頭(header)的值
如果Open方法定義為POST,可以定義表單方式上傳:
xmlhttp.setRequestHeader "Content-Type","application/x-www-form-urlencoded"

abort
取消當前 HTTP 請求

getAllResponseHeaders
從響應信息中檢索所有的標頭字段

getResponseHeader
從響應信息正文中獲得一個 HTTP 標頭值

三、XMLHTTP屬性:

onreadystatechange
在同步執(zhí)行方式下獲得返回結(jié)果的事件句柄。只能在DOM中調(diào)用。

readyState
XMLHTTP對象中的readyState屬性能夠反映出服務器在處理請求時的進展狀況??蛻魴C的程序可以根據(jù)這個狀態(tài)信息設(shè)置相應的事件處理方法。屬性值及其含義如下表所示:
值 說明
0 Response對象已經(jīng)創(chuàng)建,但XML文檔上載過程尚未結(jié)束
1 XML文檔已經(jīng)裝載完畢
2 XML文檔已經(jīng)裝載完畢,正在處理中
3 部分XML文檔已經(jīng)解析
4 文檔已經(jīng)解析完畢,客戶端可以接受返回消息

responseBody
Variant型 結(jié)果返回為無符號整數(shù)數(shù)組

responseStream
Variant型 結(jié)果返回為IStream流

responseText
string型 結(jié)果返回為字符串。

responseXML
object型 結(jié)果返回為XML格式數(shù)據(jù)。

status
Long型 服務器返回的HTTP狀態(tài)碼

statusText
String型 服務器HTTP響應行狀態(tài)
 

附錄

(一) HTTP 1.1支持的狀態(tài)代碼

100 Continue 初始的請求已經(jīng)接受,客戶應當繼續(xù)發(fā)送請求的其余部分
101 Switching Protocols 服務器將遵從客戶的請求轉(zhuǎn)換到另外一種協(xié)議
200 OK 一切正常,對GET和POST請求的應答文檔跟在后面。
201 Created 服務器已經(jīng)創(chuàng)建了文檔,Location頭給出了它的URL。
202 Accepted 已經(jīng)接受請求,但處理尚未完成。
203 Non-Authoritative Information文檔已經(jīng)正常地返回,但一些應答頭可能不正確,因為使用的是文檔的拷貝
204 No Content沒有新文檔,瀏覽器應該繼續(xù)顯示原來的文檔。如果用戶定期地刷新頁面,而Servlet可以確定用戶文檔足夠新,這個狀態(tài)代碼是很有用的
205 Reset Content 沒有新的內(nèi)容,但瀏覽器應該重置它所顯示的內(nèi)容。用來強制瀏覽器清除表單輸入內(nèi)容
206 Partial Content 客戶發(fā)送了一個帶有Range頭的GET請求,服務器完成了它
300 Multiple Choices客戶請求的文檔可以在多個位置找到,這些位置已經(jīng)在返回的文檔內(nèi)列出。如果服務器要提出優(yōu)先選擇,則應該在Location應答頭指明。
301 Moved Permanently客戶請求的文檔在其他地方,新的URL在Location頭中給出,瀏覽器應該自動地訪問新的URL。
302 Found 類似于301,但新的URL應該被視為臨時性的替代,而不是永久性的。
303 See Other類似于301/302,不同之處在于,如果原來的請求是POST,Location頭指定的重定向目標文檔應該通過GET提取
304 Not Modified客戶端有緩沖的文檔并發(fā)出了一個條件性的請求(一般是提供If-Modified-Since頭表示客戶只想比指定日期更新的文檔)。服務器告訴客戶,原來緩沖的文檔還可以繼續(xù)使用。
305 Use Proxy 客戶請求的文檔應該通過Location頭所指明的代理服務器提取
307 Temporary Redirect和302(Found)相同。許多瀏覽器會錯誤地響應302應答進行重定向,即使原來的請求是POST,即使它實際上只能在POST請求的應答是303時才能重定向。由于這個原因,HTTP1.1新增了307,以便更加清除地區(qū)分幾個狀態(tài)代碼:當出現(xiàn)303應答時,瀏覽器可以跟隨重定向的GET和POST請求;如果是307應答,則瀏覽器只能跟隨對GET請求的重定向。
400 Bad Request 請求出現(xiàn)語法錯誤。
401 Unauthorized客戶試圖未經(jīng)授權(quán)訪問受密碼保護的頁面。應答中會包含一個WWW-Authenticate頭,瀏覽器據(jù)此顯示用戶名字/密碼對話框,然后在填寫合適的Authorization頭后再次發(fā)出請求。
403 Forbidden 資源不可用。
404 Not Found 無法找到指定位置的資源
405 Method Not Allowed請求方法(GET、POST、HEAD、DELETE、PUT、TRACE等)對指定的資源不適用。
406 Not Acceptable 指定的資源已經(jīng)找到,但它的MIME類型和客戶在Accpet頭中所指定的不兼容
407 Proxy Authentication Required 類似于401,表示客戶必須先經(jīng)過代理服務器的授權(quán)。
408 Request Timeout 在服務器許可的等待時間內(nèi),客戶一直沒有發(fā)出任何請求??蛻艨梢栽谝院笾貜屯徽埱?。
409 Conflict 通常和PUT請求有關(guān)。由于請求和資源的當前狀態(tài)相沖突,因此請求不能成功。
410 Gone所請求的文檔已經(jīng)不再可用,而且服務器不知道應該重定向到哪一個地址。它和404的不同在于,返回407表示文檔永久地離開了指定的位置,而404表示由于未知的原因文檔不可用。
411 Length Required 服務器不能處理請求,除非客戶發(fā)送一個Content-Length頭。
412 Precondition Failed 請求頭中指定的一些前提條件失敗
413 Request Entity Too Large目標文檔的大小超過服務器當前愿意處理的大小。如果服務器認為自己能夠稍后再處理該請求,則應該提供一個Retry-After頭
414 Request URI Too Long URI太長
416 Requested Range Not Satisfiable 服務器不能滿足客戶在請求中指定的Range頭
500 Internal Server Error 服務器遇到了意料不到的情況,不能完成客戶的請求
501 Not Implemented 服務器不支持實現(xiàn)請求所需要的功能。例如,客戶發(fā)出了一個服務器不支持的PUT請求
502 Bad Gateway 服務器作為網(wǎng)關(guān)或者代理時,為了完成請求訪問下一個服務器,但該服務器返回了非法的應答
503 Service Unavailable服務器由于維護或者負載過重未能應答。例如,Servlet可能在連接池已滿的情況下返回503。服務器返回503時可以提供一個Retry-After頭
504 Gateway Timeout 由作為代理或網(wǎng)關(guān)的服務器使用,表示不能及時地從遠程服務器獲得應答
505 HTTP Version Not Supported 服務器不支持請求中所指明的HTTP版本


loading...


2006-1-22
關(guān)于XML(XMLHTTP)跨域加載數(shù)據(jù)不會出現(xiàn)跨域的安全提示信息的問題

網(wǎng)上看了很多資料,但好象很少人談到跨域讀取XML文檔的問題,有些論壇或BLOG關(guān)于XML跨域讀取的問題,實現(xiàn)起來非法復雜。
在這里我介紹一下XMLHTTP跨域讀取頁面數(shù)據(jù)的問題,以JS為例

一、讀取數(shù)據(jù)

//建立對象
var xml = new ActiveXObject("Microsoft.XMLHTTP"

//這里的abc.xml是被讀取的文件,當然也可以換成別的文件,false表示非異步傳輸,async是asynchronism簡寫
xml.open("get","http://www.mydomain.com/abc.xml",false)
xml.send()


二、在被讀取數(shù)據(jù)的域根下(上例是在www.mydomain.com/下),建立一個XML策略文件,名字一定要是crossdomain.xml。

在策略文件中加入以下代碼
<?xml version="1.0"?>
<cross-domain-policy>
<allow-access-fromdomain="www.mydomain.com"/>//domain屬性的值就是被允許從本站讀取數(shù)據(jù)的來源域名
</cross-domain-policy>


這樣就完成了跨域讀取數(shù)據(jù)并不會出現(xiàn)跨域的安全提示信息了

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Start AJAX
HTTP 1.1狀態(tài)代碼及其含義
HttpWatch工具簡介及使用技巧
重定向的底層實現(xiàn)原理
HTTP1.1 狀態(tài)碼 - shen.falcon
[知識]全部服務器日志返回代碼收集
更多類似文章 >>
生活服務
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服