王興奎老師的視頻已經看完了,這部分的總結工作還沒有開始,開始遇到新的知識點或是不大明白的知識都沒有及時的進行總結,只是將自己想總結的內容都列在了Onenote中,現在回過頭來一點點的進行總結,這篇部落格是對XMLHttpRequest對象的總結,在總結XMLHttpRequest對象之前我們還是先來回顧一下什麼是AJAX以及我們為什麼要使用它。
說到這自己還有些羞愧,那天學敏問我AJAX的全稱我沒說出來,想到機房收費系統合作的時候老師問我UML的全稱自己沒說出來, 其實大概的意思自己也明白可是具體就是說不胡來,說明自己對這個東西的理解還是不夠深刻,記得那時候給自己的安慰是老師突然這麼一問,自己緊張,所以沒說出來;這次是學敏問我,我們天天在一起打鬧我還緊張?想想米老師那次問我沒說出來的根本原因不是緊張,而是自己沒有把這個重視起來,甚至是理解的不夠深刻,所以當別人問我的時候才感覺手忙腳亂不知道說什麼,最後歸結到我的學習方法以及學習效率的問題上,學的太死板了,不能做到學以致用。好了,言歸正傳
AJAX即“Asynchronous JavaScript and XML”(),AJAX並非縮寫詞,而是由Jesse James Gaiiett創造的名詞,是指一種建立互動式網頁應用的網頁開發技術。大家都知道ajax並非一種新的技術,而是幾種原有技術的結合體。它由下列技術組合而成。
在上面幾中技術中,除了XmlHttpRequest對象以外,其它所有的技術都是基於web標準並且已經得到了廣泛使用的,它已經是一個事實的標準,因為目前幾乎所有的主流瀏覽器都支援它,它是AJAX的核心
XMLHttpRequest是XMLHttp組件的對象,通過這個對象,Ajax可以像傳統型應用程式一樣只與伺服器進行資料層的交換,而不必每次都重新整理介面,也不必每次將資料處理的工作都交給伺服器來做;這樣既減輕了伺服器負擔又回憶了響應速度,縮短了使用者的等待時間。
=function(){ if(tempxmlhttp. === 4){ if(tempxmlhttp. === 200){ var responseText = tempxmlhttp.; var responseXML = tempxmlhttp.; if(callback === undefined || callback ===null ){ alert("沒有設定處理資料正確返回的方法!"); alert("返回的資料:" + responseText); }else{ callback(responseText,responseXML); } }else{ if(failback === undefined || failback === null){ alert("沒有設定處理資料返回失敗的處理方法!"); alert("HTTP的響應碼:" + tempxmlhttp.status +",響應碼的文本資訊:" +tempxmlhttp.statusText); }else{ failback(tempxmlhttp.status,tempxmlhttp.statusText); } } } };
(method,url,true); //如果是POST方式,需要佈建要求頭 if(method === "POST"){ this.xmlhttp.("Content-Type","application/x-www-form-urlencode"); } this.xmlhttp.(data); }else{ alert("XMLHttpRequest對象建立失敗,無法發送資料!"); } };MyXMLHttpRequest.prototype.abort = function(){ this.xmlhttp.();} ;
自從電腦出現以來,一直是案頭軟體佔據著絕對主導的地位,但是互連網的出現和成功使這一切開始發生著微妙的變化。相當一部分的人都相信,遲早有一天,資料和電腦軟體將會從案頭轉移到互連網。也就是說,將來的電腦有可能拋棄笨重的硬碟,而直接從互連網來擷取資料和服務.雖然現在看起來我們距離這一天還很遙遠,並且這其中還有很多的問題需要解決,但是我覺得這個並非夢想,而是遲早將實現的現實。那麼,這其中的主要問題就是互連網的串連不穩定,誰也不願意看著自己的電腦從伺服器一點一滴的下載資料,那麼,ajax是不是解決了這個問題呢,與其說ajax解決了這個問題,倒不如說它只是掩蓋了這個問題,它只是在伺服器和用戶端之間充當了一個緩衝器,讓使用者誤以為服務沒有中斷。精確的說,ajax並不能提高從伺服器端下載資料的速度,而只是使這個等待不那麼令人沮喪。但是正是這一點就足以產生巨大的影響和震動,它實際上也對案頭軟體產生了巨大的衝擊。