ajax 学习笔记
1.什么是Ajax,工作原理
(了解)1.全称Asynchronous JavaScript And XML,异步的JavaScript和XML
(了解)2.不是新技术,是前期技术的组合应用。包含XMLHttpRequest、HTML/XHTML,CSS,JavaScript,XML,DOM,XSLT
(熟练掌握)3.工作原理
a.以XMLHttpRequest为核心,实现发送请求和响应接收、处理
b.以XML为数据传输格式(发请求和接收响应数据时)
c.以DOM技术解析XML数据、HTML元素
d.以HTML/XHTML、CSS控制页面显示
e.以JavaScript语言为基础,将各个元素整合
2.如何使用,Ajax API
XMLHttpRequest使用(熟练掌握)
a.对象创建,IE:new ActiveXObject("**"),FireFox:new XMLHttpRequest()
b.open()创建请求,参数:请求类型、请求资源URL、请求模式异步还是同步(略)、服务器访问的用户名和密码(略)
c.send()发送请求,如果以get方式请求发送,参数为null;如果以Post参数为"key=value&key1=value1"
d.readyState、responseText、responseXML、status、statusText
e.onreadystatechange事件指定回调函数
f.readyState取值及其含义
0(未初始化)
1(等待发送)
2(发送完毕)
3(正在交互)
4(处理完毕)
3.如何使用post方式提交(熟练掌握)
xmlHttp.open("post","regist.jsp?"+new Date().getTime());
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttp.send("name="+n);
中文乱码问题POST方式(熟练掌握)
服务器追加request.setCharacterEncoding("utf-8");
中文乱码问题GET方式(了解)
客户端使用encodeURI("中文")编码(2次),服务器端使用URLDecoder类解码
4.如何解析获取服务器返回的XML格式数据
Javascript解析XMLDocument(掌握基本使用)
a. getElementsByTagName,getElementById
b. firstChild、lastChild、childNodes、siblings
c. nodeValue、nodeType、nodeName、data
d. documentElement获取文档的根元素
JavaScript控制table表格(熟练掌握)
a. insertRow(n)插入一行
b. insertCell(n)插入一个单元格
c. deleteRow(n)删除指定行
5、json
javascript object notation,是一种轻量级的数据交换
格式,一般用于服务器与js交换数据。
(1)使用json语法创建js对象
var obj = {'属性':'属性值','属性':'属性值'};
如果属性值是一个number类型,不要用'';
也可以嵌套使用以上格式。
(2)使用json语法创建对象数组
var obj=[{},{}...];
(3) 将符合json语法要求的字符串转变成js对象
str.evalJSON();
(4) 将java对象转变成符合json格式的字符串
JSONObject obj2 = JSONObject.fromObject(obj);
obj2.toString();
(5)将数组或者List转变成符合json格式的字符串
JSONArray array = JSONArray.fromObject(obj);
array.toString();
(6)对于日期,可以使用自已定义的转换器
实现JsonValueProcessor接口
注册转换器
(7)使用json做数据交换
即服务器端程序(servlet)将java对象或者数组、List转
变成符合Json格式的字符串,然后发送给Ajax,
然后,使用js将Json字符串转变成js对象,读取
其数据,更新界面。