AJAX--接收服务器端的响应数据
* 接收服务器端的响应数据
* 使用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
* 获取元素
* 创建元素
* 替换元素
* 删除元素
* 插入元素
* ...
*