* 接收服務器端的響應數據
* 使用XMLHttpRequest核心對象的responseText屬性
* 該屬性只能接收文本(HTML)格式
* 問題
* 解析過程比較復雜(拆串)
* 拆串或拼串極容易出錯
* XML格式
* 基本內容
* HTML、XHTML、DHTML和XML的區別
* HTML就是網頁 - 元素定義大小寫
* XHTML就是嚴格意義的HTML - 元素定義小寫
* DHTML - BOM|DOM
* XML - 配置文件|數據格式
* XML文件的擴展名為".xml"
* XML的定義方式與HTML非常相似
* HTML的元素預定義好的
* XML允許自定義元素
* XML的版本
* 1.0版本 - 目前唯一版本
* 1.1版本 - 幾乎沒有人使用
* 注意
* 版本不會再更新
* XML的作用
* 作為數據格式 - 存儲數據
* XML語法
* 聲明
<?xml version="1.0" encoding="UTF-8" ?>
* version - 設置當前XML文件的版本
* encoding - 設置當前XML文件的編碼
* 注意 - 出現在0行0列上
* 定義元素
* 根元素
* 必須是起始標簽
* 只能定義一個
* 定義元素
* 元素名可以自定義
* 分類
* 起始標簽或單標簽
* 定義屬性
* 定義注釋
* 練習 - 使用XML文件定義省份和城市信息
* 如何定義都可以,符合XML語法即可
* 決定着后面使用Javascript解析的難易程度
* DOM解析XML
* 創建XML的解析器
function parseXML(xml){
// 聲明解析XML后的DOM對象
var xmlDoc = null;
// 根據不同的瀏覽器
if(window.DOMParser){
// 其他瀏覽器
var parser = new DOMParser();
xmlDoc = parser.parseFromString(xml,"application/xml");
}else{
// IE瀏覽器
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML(xml);
}
return xmlDoc;
}
* 解析XML與解析HTML一致
* 很少使用ById和ByName兩個方法
* 注意
* 瀏覽器不允許讀取外部的XML文件
* 瀏覽器解析符合XML格式的字符串
* Ajax中的XML格式
* 請求的數據格式 - XML
* 客戶端如何構建符合XML格式的數據
* 構建的數據類型 - 字符串(string)類型
* 字符串的內容符合XML格式的語法要求
* 服務器端如何接收符合XML格式的數據
* 接收客戶端的請求數據 - 字符串(string)類型
* PHP集成了DOM的相關內容
* DOMDocument類
* DOMElement類
* DOMNode類
* 響應的數據格式 - XML
* 服務器端如何構建符合XML格式的數據
* 設置服務器端的響應頭"Content-Type"值為"text/xml"
* 構建符合XML格式數據內容
* 手動方式構建字符串(string)內容
* DOMDocument對象的方法
* loadXML(符合XML格式的字符串);
* saveXML()方法進行響應
* 客戶端如何接收符合XML格式的數據
* 使用XMLHttpRequest對象的responseXML屬性接收
* 接收回來的就是XML DOM對象(不需要使用XML解析器進行解析)
* 直接使用DOM解析XML DOM對象即可
* 練習 - 二級聯動(服務器端響應數據格式為XML格式)
* JSON格式
* 基本內容
* JSON - JavaScript Object Notation(JS原生支持)
* JSON數據格式源於javascript
* 特點
* 易於程序員閱讀和編寫
* 易於計算機解析和生成
* JSON目前是網絡上使用最廣泛的數據格式之一
* JSON的結構
* Array - 數組
* Object - 對象
* 支持的數據類型
* String字符串
* Number數值
* Boolean - true|false
* Object
* Array
* null
* Ajax中的JSON格式
* 請求格式為JSON
* 客戶端向服務器端發送請求為JSON格式的數據
* 構建符合JSON格式的字符串
* 保證定義字符串時,使用單引號(里面使用雙引號)
* 服務器端接收JSON格式的數據
* 接收客戶端的數據
* 使用json_decode()函數進行解析
json_decode($json,true)
* 響應格式為JSON
* 服務器端向客戶端發送響應為JSON格式的數據
* 使用json_encode()函數將PHP變量(array)轉換成符合JSON格式的字符串
* 客戶端接收JSON格式的數據
* 使用XMLHttpRequest對象的responseText屬性接收
* 沒有responseJSON屬性
* 使用eval()函數進行轉換
* 作業 - 使用JSON格式完成二級聯動
* HTML(文本格式)、XML格式及JSON格式的優缺點
* HTML格式
* 優點 - 簡單
* 缺點 - 解析復雜
* XML格式
* 優點 - 易於構建復雜數據
* 缺點 - 構建、解析復雜
* JSON格式
* 優點 - 輕量級
* 缺點 - 可能轉換失敗
* 回顧內容
* DOM - 獨立於任何開發語言的
* DOM的分類
* DOM CORE
* DOM HTML
* DOM XML
* DOM CSS
* DOM API
* 獲取元素
* 創建元素
* 替換元素
* 刪除元素
* 插入元素
* ...
*