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 :跳出 结束执行
浏览器的缓存:
http://www.baidu.com?变化的时间戳
两次输入的请求相同,浏览器不会每次都到服务器端获取页面信息
避免缓存采取方法:在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()