第十五天(Ajax)
Ajax:採取相同的技術(html、css、javascript、xml),使用了新的思路
1、 傳統的web開發模型
使用者首先向web伺服器傳送一個http請求,伺服器獲取請求後,
從後臺資料庫(mysql)、應用程式(*.php)進行查詢,處理結果被生成html頁面,
反饋到客戶端的是完整的頁面;
2、 基於AJAX的web開發模型
使用者首先向web伺服器傳送一個http請求,伺服器獲取請求後,
從後臺資料庫(mysql)、應用程式(*.php)進行查詢,處理結果被生成xml資料,
反饋到客戶端的是所需的內容;
AJAX(Asynchronous Javascript and XML)---非同步互動(通訊)
1、 涉及的技術內容
1) 使用XHTML和CSS標準的顯示技術;
2) 使用DOM進行動態顯示和互動;
3) XML和XSLT進行資料交換和處理;
4) XMLHttpRequest進行資料的檢索---瀏覽器內建的物件;
5) Javascript來將以上技術融合;
2、 非同步通訊工作原理(新思路)
同步:使用者(在URL位址列輸入頁面請求http://www.baidu.com)----伺服器端接收到請求,進行相應處理(這段時間客戶處於等待狀態,後續操作被暫停)------
返回資料到客戶端----客戶才能繼續操作
非同步:使用者(在URL位址列輸入頁面請求http://www.baidu.com
伺服器接受資訊(函式或者新方法等待接受資訊)-----客戶端繼續向
下執行(如果伺服器處理請求結束,結果返回到新方法,)-----瀏覽器
只處理所需的資料(不涉及整個頁面的重新整理)
3、 功能
1) 改善表單驗證方式,不需要開啟新的頁面,也不需要進行整個
頁面的提交;
2) 不需要重新整理,減少了客戶的等待時間;
3) 按需要獲取資料資訊;
4) 讀取外部的資料,進行整合;
5) 非同步互動
4、 登入的案例
1) 伺服器端檔案demo.php
功能:驗證使用者名稱稱的合法性
2) 前臺頁面index.html
功能:顯示輸入使用者名稱的區域
jquery 是一個Javascript庫,簡化程式設計過程
ajax的一個框架;
使用:<script type=”text/javascript” src=”檔案”></script>
GET:將資訊通過URL位址列進行傳遞;
POST:將資訊通過HTTP方式進行傳遞;
瀏覽器顯示:html\css\javascript等型別頁面—呼叫元件
Xml-----activeXObject(支援多媒體功能、效果等)
同步:
一個表單包含所有資訊(使用者、口令、身份證等)
Submit 作用:針對表單物件,點選後執行---將表單區域包含
所有資料通過method屬性指定的方式傳送到action屬性指定
的檔案裡
Get:把表單裡所有(input、select、textarea等)資料當作引數
通過URL位址列傳遞
http://../indec.php?name=”zhangsan”&email=””....
Post:把資料通過HTTP傳遞
名字:值
Firebug:除錯功能
Step over:單步執行(進入) 按照語句的順序執行,當碰到方法,不進入
方法體內部
Step into: 單步執行(跳過) 按照語句的順序執行,當碰到方法,進入
方法體內部
Step out :跳出 結束執行
瀏覽器的快取:
兩次輸入的請求相同,瀏覽器不會每次都到伺服器端獲取頁面資訊
避免快取採取方法:在URL後增加時間資訊
第二種方式實現AJAX
XMLHttpRequest物件
新的瀏覽器具備元件XMLHttpRequest
IE7、IE8、firefox、mozillar、opera、safari、chrom
舊的瀏覽器控制元件ActiveXObject
開放的集合(提供了實現各種功能的方法,flash、動態效果)
IE6、IE5.5、IE5等
Php操作xml
Php內建DOMDocument
$_doc = new DOMDocument(); //DOM物件
$_doc->getElementsByTagName() //nodelist物件 item length
Javascript操作
XML domdocument
Var a = new activexobject; //dom節點物件
a.getelementbyid()