1、Ajax是什么,web出现的革新?
1.1 Ajax未出现之前,Html显示的都是在服务器端预处理好的数据;如果你只要刷新页面的局部信息,但实际上你要刷新的是整个页面,全局刷新,同步处理数据,亦即重新加载整个页面。----“工作--等待”模式
1.2 Ajax出现之后,保持用户体验的页面不变,只是刷新局部,实现异步处理数据。
2、Ajax核心组成
Ajax=XmlHttpRequest(特殊的JavaScript对象)+JavaScript事件+动态Html(DHtml)
3、Ajax的使用
3.1 实例化XmlHttpRequest(XHR)
3.2 发送请求
3.2.1 服务器资源的url
3.2.2 HTTP的请求类型,主要为get和post
3.2.3 服务器资源所需要的参数
3.2.4 一个js函数,对服务器返回的结果进行解析和处理
3.3 处理响应
3.3.1 readyState(0~4)
3.3.2 status(200~299)
4、Ajax从服务器端的返回
4.1 Html
4.2 JavaScript
4.3 Json
4.4 XML(结合XPATH查询和XSLT转换)
5、JavaScript里面的Prototype库
5.1 获取DOM元素的引用--$()函数
$(“someElementId”)=document.getElementById(“someElementId”)
$()函数既可以传入一个id字符串,也可以传入一个DOM引用
5.2 读取表单控件的值--$F()函数
Value=$F(“someElementId”),传入一个id字符串
5.3 对数组的扩展
5.3.1 $A()函数,可以把其他构造转换成Array类的实例,特别是能够把XML 文档的NodeList转换成数组
5.3.2 Enumerable类,旗下有each(函数引用作为参数)方法,作为函数引用 的参数必须要实现function iteratorFunction(element,index);接口。
5.4 Hash类
Object类可以被视为“关联数组”(键/值、属性/值)
$H()函数可以根据任意一个js对象的属性和值来创建一个Hash类的实例
toQueryString()方法,对hash所包含的名值对进行格式化,形成对应的HTTP 查询字符串,通常与$H()结合使用
代码片段1
var o = new Object();
o.a=1;
o.b=2;
o.c=3;
Document.write($H(o).toQueryString());
结果a=1&b=2&c=3
对于一些被编码的字符,执行toQueryString()方法后会自动替换成对应的编 码(空格、+、&)
5.5 给函数绑定上下文对象
函数名.bind(实例化对象)
类似的还有bindAsEventListener()用于事件的绑定回调
5.6 用Prototype创建类
代码片段1
Something = Class.create();
Something.prototype.initialize = function(p1,p2,p3){
/*constructor*/
};
Something。Prototype.othermethod = function(){
/* other method*/
}
5.7 用prototype合并对象和扩展类
Object.extend(object1,object2);把object2中的复制一份到object1中,如果有 相同属性,则object2优先,最后返回一个object1对象