XMLHttpRequest 對象用于在后臺與服務器交換數據。
XMLHttpRequest 對象用于在后臺與服務器交換數據。
XMLHttpRequest 對象是開發者的夢想,因為您能夠:
所有現代的瀏覽器都支持 XMLHttpRequest 對象。
如需學習更多有關 XMLHttpRequest 對象的知識,請學習我們的 XML DOM 教程。
實例:當鍵入文本時與服務器進行 XML HTTP 通信。
所有現代瀏覽器 (IE7+、Firefox、Chrome、Safari 以及 Opera) 都內建了 XMLHttpRequest 對象。
通過一行簡單的 JavaScript 代碼,我們就可以創建 XMLHttpRequest 對象。
xmlhttp=new XMLHttpRequest();
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
提示:在下一章,我們將使用 XMLHttpRequest 對象從服務器取回 XML 信息。
親自試一試
注釋:onreadystatechange 是一個事件句柄。它的值 (state_Change) 是一個函數的名稱,當 XMLHttpRequest 對象的狀態發生改變時,會觸發此函數。狀態從 0 (uninitialized) 到 4 (complete) 進行變化。僅在狀態為 4 時,我們才執行代碼。
我們的實例在 open() 的第三個參數中使用了 "true"。
該參數規定請求是否異步處理。
True 表示腳本會在 send() 方法之后繼續執行,而不等待來自服務器的響應。
onreadystatechange 事件使代碼復雜化了。但是這是在沒有得到服務器響應的情況下,防止代碼停止的最安全的方法。
通過把該參數設置為 "false",可以省去額外的 onreadystatechange 代碼。如果在請求失敗時是否執行其余的代碼無關緊要,那么可以使用這個參數。
親自試一試
通過 XML HTTP 把一個 textfile 載入一個 div 元素中
通過 XML HTTP 進行 HEAD 請求
通過 XML HTTP 進行指定的 HEAD 請求
通過 XML HTTP 列出 XML 文件中的數據
您也可以把 XML 文檔打開并發送到服務器上的 ASP 頁面,分析此請求,然后傳回結果。
ASP 頁面,由 VBScript 編寫:
<%set xmldoc = Server.CreateObject("Microsoft.XMLDOM")xmldoc.async=falsexmldoc.load(request)for each x in xmldoc.documentElement.childNodes if x.NodeName = "to" then name=x.textnextresponse.write(name)%>
通過使用 response.write 屬性把結果傳回客戶端。
親自試一試
任何 W3C 推薦標準均未規定 XMLHttpRequest 對象。
不過,W3C DOM Level 3 的 "Load and Save" 規范包含了一些相似的功能性,但是還沒有任何瀏覽器實現它們。
XML DOM 參考手冊: XMLHttpRequest 對象
新聞熱點
疑難解答