国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當前位置:雨林木風下載站 > 技術開發教程 > 詳細頁面

找到一篇對于xmlhttp的文章

找到一篇對于xmlhttp的文章

更新時間:2022-05-10 文章作者:未知 信息來源:網絡 閱讀次數:

XMLHTTP: 網站超級粘合劑




簡介
許多ASP開發者都希望在自己的網站中能夠使用到微軟提供的支持XML
的新功能。其中,有些人發現可以使用XML來裝飾網站,但是,如果僅僅
是只使用XMLDOM的話,你就會失去其他一些更重要的東西。畢竟,XML是用來
作為一種網上數據表現和數據交換的形象出現的。盡管使用XML可以非常滿意
地描繪你的數據,但是開發者卻不得不使用CGI來進行瀏覽器和服務器之間的
數據交換,除非你在瀏覽器端和客戶端都使用XML文檔。
當然CGI從傳達信息的角度來說是能夠完全勝任的,但是如果要是和XML來
一起使用的話就讓XML失去了很多自己的用處。幸運的是,微軟提供了一種更加
有效的方法來傳輸XML,雖然該方法在很大程度上并不被人所重視。
在微軟提供的MSXML解釋器包中有一系列的對象,也許沒有人會重視其中的
XMLHTTPConnection對象。簡而言之,它允許你打開一個到服務器上的HTTP連接,
發送一些數據和取回一些數據。并且所有的這一切都是在很少的幾段腳本中就能夠實現。
使用XMLHTTP對象通常是進行XML數據交換,但其他格式的數據也是允許的。

在商業程序中的運用
這種交換類型的標準模式是客戶端發送一個XML格式的文本字符串到服務端,
然后服務端將這個字符串裝載入一個XMLDOM對象中并且解釋它,然后返回一段
HTML給客戶端,或則是另外一段XML代碼給客戶端讓客戶端的瀏覽器自己解釋。
在這種方式下,對于信息的傳遞來說是非常有效的形式,尤其是當你使用
DHTML允許你根據返回信息動態顯示時。
舉例如下(只能夠運行在客戶端和服務端都安裝有IE5的情況下)
<%
if (Request.ServerVariables("REQUEST_METHOD") == "POST" )
{
var req= Server.CreateObject("Microsoft.XMLDOM");
req.async=false;
req.load(Request);
if (req.documentElement.nodeName=="timesheet")
{
//對數據隨便進行一些處理。。。
.....
Response.write("<h1>Timesheet Updated!</h1><b>"+req.documentElement.text+"</b>");
}
}
else
{%>

<div id="divDisplay">The response will be put in here</div>
<input type="button" onclick="sendData();" value="Send it!">
<script>
function sendData(){
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.Open("POST", "http://www.yoursite.com/thispage.asp", false);
xmlhttp.Send("<timesheet>An impossibly useless timesheet fragment</timesheet>");
divDisplay.innerHTML=xmlhttp.responseText;
}
</script>
<% } %>

在上面的代碼中,其中客戶端的腳本將建立一個適當的COM對象,打開一個在網站
www.yoursite.com的連接(使用了HTTP的POST方法,同步方式),使用Send方法發送
一個XML片段,然后根據服務器上的響應填充divDisplay區域(這里使用了DHTML)。
具體的執行過程是,在服務器上,Request對象被轉載入一個XML文檔然后被解釋器解釋。
服務器響應XMLHTTP連接的方式和響應其他任何方式的HTTP連接是一樣的,也是使用了
Response對象。注意的是XMLHTTP本身并不檢查request或則response的有效性,也就是說
Request或則Response中的數據可是并不需要一定是XML文檔。
“聰明,”你也許會說。“但是為什么我們不使用CGI來代替它呢?”呵呵,我們要注意
這樣一件事,就是如果使用這種方式進行客戶端--服務端的交互時整個頁面并沒有被刷新。
我們都知道,如果要是通過CGI來做任何事情都必將導致瀏覽器接收一個完整的新頁面,而
這尤其影響網站上的訪問者,因為他們不得不把所有的時間都用來等候整個頁面下載完畢。
同樣,CGI對于網站服務器來說也是一個負擔,因為它不得不把寶貴的處理器循環周期和帶寬
消耗在新頁面的所有部分。如果這樣的操作只是一次或則兩次倒無所謂,但是如果是對任何
一個電子商務網站或則一個基于Web的電子郵件系統,這將意味著大量的同樣的基本頁面信息
被重復一次又一次的裝載。
同樣,如果是通過CGI在網站運用程序中使用XML,服務端一般都將不得不根據數據來建立
XML的文檔,然后才能夠對這些文檔進行自己需要的處理。在這種方式下,服務器將花費
大量的精力在處理如何建構這些XML文檔上,尤其是當需要傳送的數據量很大時。
所以如果是讓客戶端的瀏覽器來建立這個XML文檔,并且在建立完畢后通過XMLHTTP將最后的
產品傳遞給服務器,這將大大減輕服務端的代碼量和負擔。
這種類型的問題的一個例子是給服務器上的XML文檔增加數據。如果是使用CGI的話,那么
就需要頻繁的查詢一個CGI的form,然后才能夠構建一個加入XML文檔的XML節點。而如果是使用
XMLHTTP需要做的僅僅是把這個XML節點傳遞給服務端就可以了。

上面說討論的是XMLHTTP基本部分,有關它的詳細例子你可以在Microsoft Developers
Network中找到例子 。雖然使用這種通訊方式可以大有作為,我在我自己的運用中僅僅只是
使用到了很少的一部分,也許任何一個聰明的開發者都能夠發現更多的運用事例。

使用XMLHTTP而不是CGI(即使是我們心愛的ASP)能夠讓我編寫更多野心勃勃的網站運用
程序,因為現在我們所關心的簡單到只是我們需要發送的數據而已。從而使用很少的代碼
就能夠實現非常復雜的功能,而CGI對于用戶每一個可能的操作都需要我們來完完整整地
生成一個新的頁面。
但是由于目前并不是所有的瀏覽器都支持MSXML,許多使用ASP編寫的為了非企業內部
目的的運用程序需要支持CGI的交互。但是欣慰的是,編寫一個同時支持CGI和XMLHTTP數據
的頁面并不是很困難,并且將CGI的數據載入XML文檔中花費的工作量也不是很大。
最簡單的方式來判斷數據是CGI的數據還是XML的數據就是判斷數據的MIME類型.
XMLHTTP的MIME是一個空字符串,除非你特定了其他的MIME類型 (可以到這個連接
查看不同的MIME類型http://msdn.microsoft.com/xml/reference/scriptref/XMLHttpRequest_object.asp).
而許多CGI的MIME類型是"application/x-www-form-urlencoded"
下面就是一個來判斷的代碼片段:

<%
if (Request.ServerVariables("REQUEST_METHOD") == "POST" )
{
if (Request.ServerVariables("CONTENT_TYPE")=="application/x-www-form-urlencoded")
{//如果是常規數據,讓CGI來處理
Response.write(Request.form("stuff"));

}
else
{//如果是XMLHTTP連接,將Request對象轉載入XML解釋器
var req= Server.CreateObject("Microsoft.XMLDOM");
req.resolveExternals=false;
req.validateOnParse=false;
req.async=false;
req.load(Request);
Response.write(req.documentElement.selectSingleNode("stuff").text);
}
}
else{ %>

這是一種簡單明了的在同一個ASP頁面中即可以處理CGI也可以處理XMLHTTP數據的方法。
并且它也提供了一種能夠兼容在客戶端安裝了IE5.0以及使用其他其他瀏覽器瀏覽網站的模式。
或則也可以采取另外一種方法,就是我對所有的網站運用程序還是采用以前的CGI接口,
但是在其他類型的客戶端運用程序使用XMLHTTP方法,例如Microsoft Office運用程序。
XMLHTTP的功能并不僅僅局限在瀏覽器上,我在Microsoft Office的VBA開發程序中使用XMLHTTP
取得了巨大的成功。現在我假設我被要求使用XML技術在更新我公司服務器上的Excel電子表
格中的數據。Excel能夠將HTML表格直接轉載到自己的表格中,但是它不能夠處理格式復雜的
頁面,例如本頁。數據除非使用了非常巧妙的技巧根本沒法插入電子表格。
我的解決方法是編寫了一個ASP頁面來操縱通過XMLHTTP從Excel中傳遞過來的數據。
通過一個VBA的宏給服務器發送一個請求,然后將響應載入XML文檔,通過解釋器解釋后再
插入Excel的電子表格中。這將是一個無痕的解決方案,簡單的一個按鈕也許會讓你的老板、
同事或任何其他人的關系大有改觀。
下面是我實現上述方法的一個代碼片段。它使用XMLHTTP將服務器中的信息載入,然后將
其插入電子表格中。

Public Sub UpdateSheet()

Dim xmlhttp
Set xmlhttp = CreateObject("Microsoft.XMLHTTP")
Call xmlhttp.Open("POST", "http://www.yourserver.com/yourpage.asp", False)
Call xmlhttp.send("<reqtimesheet user='jimbob'/>")

Dim xmldoc
Set xmldoc = CreateObject("Microsoft.XMLDOM")
xmldoc.async = False
xmldoc.loadxml(xmlhttp.responsexml)
Worksheets("TimeSheet").Range("A1").Value = xmldoc.documentelement.getAttribute("firstname")
Worksheets("TimeSheet").Range("B1").Value = xmldoc.documentelement.getAttribute("lastname")
Worksheets("TimeSheet").Range("C37").Value = xmldoc.documentelement.selectSingleNode("totalhours").Text
End Sub

這個VBA的宏相當的簡單。給服務器發送一個請求,然后將服務器上的響應插入
XML文檔,然后更新Excel中cell中的內容。當然,我們可以使用這個技術做其他更多的運用。
例如從一個Office運用程序中上載數據到服務器上的XML文檔中(XML應該是你首選的格式,
而不是Office 2000中提供的愚蠢的OfficeXML實現).或則把XML/ASP作為一個你數據庫的shell
這樣,你的運用程序對于數據庫就有了一個簡潔、統一的接口,而對數據庫結構的
改動就不必要改動你所有的客戶端代碼了。

我發現XMLHTTP對象在我的編程中非常的有用。我一般使用Visual Basic, Delphi, 和 Visual J++編寫程序,在這個過程中,我經常發現這些語言各自對在線程序處理的方法非常地不同,
他們各自有自己的對網絡程序的處理機制,但是如果你要是在處理網絡程序時都使用統一
的XMLHTTP連接方式,那么連接服務器的代碼將非常小,甚至更優化,這是一種對所有的
語言都統一的接口。


溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        日韩理论电影院| 日韩视频一区在线观看| www.欧美日韩| 综合久久一区二区三区| 欧洲精品一区二区| 免费的成人av| 国产精品天美传媒沈樵| 在线观看91精品国产入口| 亚洲欧美视频在线观看| 91黄色激情网站| 日韩高清一区二区| xnxx国产精品| 91亚洲精品乱码久久久久久蜜桃| 亚洲一区二区三区不卡国产欧美| 911精品国产一区二区在线| 国产自产视频一区二区三区| 亚洲少妇30p| 欧美一级片在线观看| 国产98色在线|日韩| 一区二区免费看| 久久精品亚洲精品国产欧美kt∨| 9l国产精品久久久久麻豆| 美女视频黄久久| 亚洲最色的网站| 国产日韩欧美不卡在线| 欧美乱妇15p| 成年人午夜久久久| 日本欧美久久久久免费播放网| 中文字幕乱码亚洲精品一区| 欧美日韩一本到| caoporm超碰国产精品| 久久99精品久久久久久动态图 | 99久久婷婷国产综合精品电影| 首页亚洲欧美制服丝腿| 国产亚洲成年网址在线观看| 4438x亚洲最大成人网| av网站一区二区三区| 极品少妇xxxx精品少妇| 天堂一区二区在线| 一区二区三区 在线观看视频| 国产女同互慰高潮91漫画| 精品国产一区二区在线观看| 欧美一区二区三区免费大片| 欧美色涩在线第一页| 色偷偷久久一区二区三区| 成人蜜臀av电影| 成人精品国产一区二区4080| 国产在线一区观看| 韩国一区二区三区| 国产一区二区三区免费看| 日本伊人精品一区二区三区观看方式| 一区二区三区在线视频观看58 | 丝袜美腿亚洲一区| 一区二区免费在线| 亚洲综合免费观看高清完整版| 国产精品久久久久久久久免费樱桃| 欧美r级在线观看| 6080yy午夜一二三区久久| 欧美午夜一区二区| 欧美综合久久久| 欧美日韩国产成人在线免费| 欧美日韩一区二区在线视频| 色视频欧美一区二区三区| 91亚洲精品久久久蜜桃| 日本电影亚洲天堂一区| 欧美精品视频www在线观看| 在线观看91av| 久久综合久久综合久久综合| 久久精品网站免费观看| 国产精品久久毛片| 亚洲精品少妇30p| 亚洲国产aⅴ成人精品无吗| 亚洲国产精品久久久久秋霞影院| 无码av免费一区二区三区试看| 肉色丝袜一区二区| 久久99精品久久久久久动态图| 国内精品在线播放| 成人动漫一区二区三区| 日本福利一区二区| 日韩欧美国产成人一区二区| 国产精品久久国产精麻豆99网站| 亚洲嫩草精品久久| 日韩精彩视频在线观看| 激情综合五月婷婷| 一本到三区不卡视频| 欧美一区二区在线免费观看| 欧美激情中文字幕| 午夜影院久久久| 国产jizzjizz一区二区| 精品污污网站免费看| 欧美精品一区二区三区蜜桃| 亚洲欧美一区二区三区极速播放 | 日韩精品一级中文字幕精品视频免费观看 | 精品免费日韩av| 亚洲婷婷综合色高清在线| 婷婷久久综合九色综合绿巨人| 国产一区二区精品在线观看| 在线观看亚洲a| wwwwxxxxx欧美| 亚洲一卡二卡三卡四卡无卡久久| 免费成人深夜小野草| 91香蕉视频污在线| 精品国产伦一区二区三区观看方式 | 日韩一级片在线播放| 中文字幕一区二区三区色视频| 亚洲一区在线视频| 国产一区二区三区免费播放| 在线观看免费成人| 欧美激情一区三区| 日韩电影在线一区二区三区| 一本一本久久a久久精品综合麻豆| 日韩一区和二区| 亚洲第一成人在线| 99免费精品在线| 国产婷婷精品av在线| 蜜臀久久99精品久久久久久9| 欧美亚洲动漫精品| 亚洲色图一区二区| 国产91丝袜在线播放九色| 欧美一级欧美三级在线观看| 亚洲午夜电影网| 日本精品一区二区三区高清| 中文字幕中文乱码欧美一区二区| 韩国av一区二区| 欧美精品一区二区三区蜜桃| 奇米影视在线99精品| 91精品国产综合久久精品| 亚洲高清视频中文字幕| 91国偷自产一区二区三区观看| 国产精品久久久久久久久免费樱桃| 国产成人在线看| 国产精品欧美经典| 91小视频免费看| 亚洲激情自拍偷拍| 欧美在线观看一区| 婷婷开心久久网| 欧美一区二区三区婷婷月色| 美国av一区二区| 久久综合久色欧美综合狠狠| 久久99热这里只有精品| 精品国产91洋老外米糕| 六月丁香婷婷久久| 国产欧美综合在线观看第十页| 成人美女视频在线观看18| 亚洲精品欧美综合四区| 欧美日韩在线免费视频| 午夜精品久久一牛影视| 日韩美女在线视频| 国产美女在线观看一区| 日韩美女视频19| 欧美日韩在线一区二区| 精彩视频一区二区三区| 国产精品嫩草影院av蜜臀| 色狠狠色狠狠综合| 精品一区二区三区在线播放| 国产欧美一区二区精品性| 成人精品视频一区二区三区| 一区二区三区四区高清精品免费观看| 一本大道久久精品懂色aⅴ| 亚洲成av人片观看| 精品国产一区二区三区久久久蜜月| 国产激情偷乱视频一区二区三区| 亚洲天堂免费在线观看视频| 777xxx欧美| 成人免费毛片aaaaa**| 亚洲va欧美va人人爽| 日本一区二区三区在线观看| 欧亚一区二区三区| 美女国产一区二区三区| 国产精品久久久久久久第一福利 | 欧美电视剧免费观看| 成人av免费在线| 日韩高清一区在线| 亚洲人妖av一区二区| 精品美女一区二区三区| 色偷偷88欧美精品久久久| 美女国产一区二区三区| 亚洲国产视频一区| 久久精品在这里| 欧美日韩mp4| av色综合久久天堂av综合| 狠狠色综合日日| 日韩精品高清不卡| 一区二区在线看| 国产精品久久久久久久久快鸭| 日韩精品一区二区三区中文精品| 日本道免费精品一区二区三区| 国产精品99久久久久久久vr | 国产精品乱人伦一区二区| 欧美老肥妇做.爰bbww视频| 成人福利在线看| 国产成人在线色| 国产一区91精品张津瑜| 精品制服美女丁香| 天天影视网天天综合色在线播放 | 日韩av一级片| 亚洲午夜羞羞片| 亚洲人妖av一区二区| 国产精品久久久久四虎| 国产日产欧美一区|