




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
一、Ajax技術整體感 從HTTP說開 Ajax是這么一個東 二、Ajax簡介和異步的概 Ajax簡 深入理解 Ajax中的異 三 o 服務器的配 o 四、XMLHttpRequest對 XMLHttpRequest對象的創 open()方法和send()方 readyState屬性和onreadystatechange事 HTTP狀態 五、了解 了解語 數據 六、GET和POST請 請求類型的概 GET請 POST請 一、Ajax從HTTP說開超文本傳輸協議(HTTP,HyperTextTransferProtocal),是簡單、可靠的互聯網文件傳輸協議。“上網”這個事兒的本質,就是你輸入之后,瀏覽器發出一次HTTP請求,有上行請求、下行響應兩部分。上行請求(request),下行響應(response)。一次HTTP請求,一定有這兩個部分,。一張網頁,可能產生多個HTTP的請求通常,瀏覽器產生HTTP請求,是由于用戶輸入了新的、或者點擊了超偷偷地發起HTTP請求,請求回來的數據在頁面局部刷新呈遞。Ajax是這么一個東面試這么回答很靠譜在不刷在不刷新頁面的情況下,瀏覽器悄悄地、異步地向服務器發出HTTP請求。服器收到請求后,傳回新的格式化數據回來(通常是JSON)。瀏覽器解析JSON,過DOM將新數據呈遞顯示,頁面僅局部刷新二、AjaxAjax簡全稱:AsynchronousJavaScriptand中文:異步JavaScript和昵稱:阿賈克斯、誒'債克有有趣的信息AJAX不是新的編程語言,而是一種使用已有標準的新概念2005年JesseJamesGarrett推廣,并取名。神奇的是,這哥們并不是程序的,而是搞設計的,是交互設計大師、用戶體驗大師。甚至是個優秀建筑設師2005年通過SuggestAJAX變得流行起來在今天,很少有哪不使用Ajax技術Ajax技術對智支持非常好Ajax中字母x表示XML,實際上XML已經過時,現在的公司,幾乎全都在使JSONXML。所以理論上講,應該稱呼為Ajaj,不過,呃,這個詞兒,長得好有“同步”、“異步”之分。面試的時候,是很狗血的。面試官會用幾個概念多多線程,就是指計算機CPU有一定的物理結構,能夠在物理上,同時計算兩個單線程也能異步。就是你的程序只用一個線程,也就是說計算機同一時刻只能算一個任務。那為什么還能異步呢??原因是,異步的時候,CPU把請求已經交了磁盤這個物理硬件,而CPU還在以單線程運行。比如世界著名Node.js語言,是非常著名的單線程、異步的語言多線程也能同步。多線程,就是CPU能夠同時計算多個命令,但是程序就是選擇傻等,你管得著么?比如PHP是世界上最最著明的多線程語言,但是里面提供的比如下面這條PHP命令,就是同步ans.xml文件,文件在的過程中,進$xml_array=總結一下,單線程、多線程和同步、異步,沒有任何關系注意,這里不用死糾結這些概念,Node.js課上,有很多這種理論知識Ajax中的瀏覽器執行到Ajax代碼這行語句發出了一個HTTP請求欲請求服務器上的數據。服務器的此時開始I/O,需要花一些時間,所以不會立即產生下行HTTP報文。Ajax是異步的,所以本地的JavaScript程序不會停止運行,頁面不會假死,不會傻等下行HTTP報文的出現。后面的JavaScript語句將繼續運行。服務I/O結束,將下行HTTP報文發送到本地。此時,回調函數將執行。回調函數中,將使用DOM更改頁面內容。回調函數JavaScript中,凡是需要一段時間才能完成的操作,采用異步方式執行,執行完畢之后,執行的函數,稱為回調函數。三 o在瀏覽器里調試。Ajax程序,必須運行在服務器環境中。上課配置的服務器是Apach(阿帕奇源的、使用人數最多的服務器環境。使用的是一鍵傻瓜安裝包,可以非常方便的讓的計算成服務器。這個傻瓜安裝包叫做PHPnow解壓PHPnow.rar壓縮包,到用管理員運行cmd,然后才能執行安裝安裝完成之后,你的c:\phpnow\htdocs文件夾,就是一個神奇的文件夾。這個文 所以你現在要知服務器,服務器就是一臺計算機,有CPU、內存條盤,只不過裝了一個服務器,比如Apache,那么這時候計算機就能夠識別外的HTTP請求,能夠提供HTTP服務器自己,不用輸入自己的ip,可以輸入,就表示自己的IP1234567varxhr=newXMLHttpRequest();xhr.onreadystatechange1234567varxhr=newXMLHttpRequest();xhr.onreadystatechange=function(){}console.log("哈哈//這個哈哈要先執行藍色的部分,就是回調函數,因為Ajax的請求是異步的,所以不知道反饋什四、XMLHttpRequestXMLHttpRequest對象的創Ajax請求都是通過內置的XMLHttpRequest來實現的,這是瀏覽器的內置對象。在IE6中不兼容,但是解決辦法很簡單:高級瀏覽器中,創建這個對象,就是 varxhr=new但是IE6不兼容,IE6只能用這樣的方式創建 new所以,要進行能力檢測12//高級瀏覽3returnnew45//老版本瀏覽6returnnew7}open()方法和send()方open方法表示配置 調用open方法并不會真正發送請求,而只是啟動一個請求以備發送它接受三個參數:要發送的請求的類型、請求的URL、表示是否異步的布爾值如果要發送請求,用send()方法要發送特定的請求,需要調用send()方法。它接受一個參數,即要作為請求主體發送的數據。如果不需要通過請求主體發送數據,則必須傳入null,不能留空。*請求主體:HTTP上行請求,有頭部、主體。一般來說,GET請求是只有頭部,一但調用send()方法,HTTP上行請求就將發出readyState屬性和onreadystatechange事xhr對象有一個重要的屬性,就是readyState屬性,表示“就緒狀態” 取值只有5種值:0、1、2、3、00未初始1XMLHttpRequest對象正在加2XMLHttpRequest對象加載完3正在傳輸數4全部完只要這個屬性值發生了變化,就會觸發一個事onreadystatechange事件此時,可以 來捕獲readyState改變之后做的事情只有readyState為4的時候,對有用。所以要進行一次判斷 23//回調函數。就是當文件已經完完畢,做的事4pp.innerHTML=5}6},現在Ajax小程序還有一些問題,當你的頁面不存在的時候,錯誤信息也會,HTTP在下行請求頭部的數值,表示此次請求的一個結果。是一個3位數的數字 Ajax一旦用send方法發出HTTP請求之后readyState4的時候,就會有一 表示的是請求的文件的狀態碼。所以在Ajax中,要進行狀態碼的判斷 xhr.status>=200&&xhr.status<300||xhr.status==所以已經寫完了所有Ajax的程序結構1123456//創建對varxhr=//當xhr對象的readyState屬性發生改變的時候觸xhr.onreadystatechange=function(){if(xhr.readyState==4){if(xhr.status>=200&&xhr.status<300||xhr.status789pp.innerHTML=thrownewError("文錯誤}}}//open////getnull五、了解了解語php是語言不能直接書寫一個php文件就雙擊運行必須放在服務器里運行,并且服務器還要安裝專門的語言解釋程序。PHPnow已經集成了這個環境。語言是運行在服務器上的,本質上就是一個預處理器。比如php就是利用一些php<?php?>在服務器上執行一些代碼執行完畢之后解析成為普通的HTML端不需要安裝任何特殊的,對客戶端來說,呈遞的仍然是普通HTML頁面。運運行地語言運行在服務器上,而前臺語言運行在客戶電腦里運行環語言需要服務器、語言解釋器主要任語言的任務,查詢數據庫;前臺語言的任務,頁面美化數據庫語言能夠操作數據庫,前臺語言不能兼容性語言沒有兼容性問題;前臺語言兼容性很差神奇的是,PHPnow里面已經集成了MySQL六、GETPOST應。這就是時下非常流行的RESTful設計。HTTP請求類型有 用于查詢內容,目的是得到某個信息。僅有請求頭,沒有請求實體POST用于向服務器傳遞數據,目的是提交表單等。有請求實體 用于向服務器發送更新某數據的請求,幾乎不 用于向服務器傳遞刪除命令,幾乎不用GET請GET請求提交表單,就會在URL后面用問號的形式,羅列所有參數 do.php?username=考拉&sex=男&hobby=足球&hobby=睡覺GET請求性很差GET請求沒有請求實體,查詢參數通過URL表示。比如 優點:GET請求是便于用戶缺點:GET請求不,通過歷史記錄,能看到數據缺點:GET請求有大小限制,不能大于2KBPOST請post請求向服務器傳遞數據,并不是通過URL的參數,而是通過HTTP上行請缺點:POST請求無法優點:POST請求性強,傳輸的數據對用戶透明,瀏覽器不會保
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025數字資源中心建設合同
- 2025版商業店鋪租賃合同2
- DB3308T 127-2024基層智治大腦 事件數據匯聚流轉基本要求
- 2025租賃合同補充協議書
- 貨車駕駛員勞務合同書
- 二零二五版人力資源部經理勞動合同樣本
- 榮成市自然保護地整合優化方案
- 2025如何處理違反租賃合同的情況
- 2025商場照明系統維護合同模板
- 英語學習之旅
- JB T 2361-2007恒壓刷握行業標準
- 泰和安報警主機操作規程
- 供電局標準用電手續辦理流程(課件)
- 《清水混凝土技術》課件
- 合同自動續簽模板
- 架線弧垂計算表(應力弧垂插值計算)
- 水電安裝全套技術交底
- 三都縣一起少數民族陸氏家族的調查
- Pentacam三維眼前節分析儀在眼科臨床中的應用
- 順式-甘氨酸合銅的制備及成份分析課件
- 刑法分論課件(第三章-危害公共安全罪)
評論
0/150
提交評論