* 同步交互和异步交互:
* 同步交互:客户端发送请求——>等待服务器端处理——>接收响应,这个过程客户端不能做任何其他事情,这种模式叫做同步交互
* 异步交互:客户端发送请求——>等待服务器端处理——>接收响应,这个过程客户端不用等待结果,可以做其他事情,这种模式叫做异步交互
Ajax定义:
允许客户端与服务端之间进行通信,而无需刷新整个页面的技术。
*Ajax工作原理:在客户端和服务器进行通信的时候,客户端先把请求发送给Ajax引擎,再由Ajax引擎发送给服务器端。
*XMLHttpRequest是Ajax技术的核心。
*** 实现Ajax得步骤:
1、创建XMLHttpRequest对象:
function ajaxFunction(){
var xmlHttp;
try{ // Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e){
try{// Internet Explorer
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){}
}
}
return xmlHttp;
}
2、注册监听:
*利用XMLHttpRequest对象的onreadystatechange属性来监听服务器的状态。
*服务器的通信状态由XMLHttpRequest对象的readyState属性来获取。
0 代表未初始化。 还没有调用 open 方法
1表正在加载。 open 方法已被调用,但 send 方法还没有被调用
2代已加载完毕。send 已被调用。请求已经开始
3表交互中。服务器正在发送响应
4代表完成。响应发送完毕
*再利用XMLHttpRequest对象的另一个属性status,来获取访问服务器端是否正确
* 常用状态码及其含义:
404 没找到页面(not found)
403 禁止访问(forbidden)
500 内部服务器出错(internal service error)
200 一切正常(ok)
304 没有被修改(not modified)(服务器返回304状态,表示源文件没有被修改 )
** 接收服务器的响应数据:
1、文本格式:利用XMLHttpRequest对象的responseText属性来接收。
2、xml格式:利用XMLHttpRequest对象的responsexml属性来接收。
3、json格式:利用XMLHttpReques对象的responseText属性来接收,再利用eval_r( )函数进行转换。
3、与服务器建立连接
利用XMLHttpRequest的open(“get|| post“,URL,true)方法
get或者post请求方式,也叫请求类型。
URL:请求路径
true表示是异步请求。false表示不是异步请求。
4、如果请求是post方式的话,需要设置请求首部信息:
利用XMLHttpRequest的setRequestHeader( )方法:xml.setRequestHaeder("content-type","application/x-www-form-urlencode");
5、向服务器请求数据:
利用send()方法:
如果是get请求,send()方法向服务器发送请求数据,服务器接收不到。
如果是post请求,send()方法向服务器发送请求数据,服务器可以接收。
注:面试小问题:
什么是服务、服务器、中间件、servlet
服务:发布后的工程
服务器:硬件承载容器,实际上就是电脑硬件
中间件:tomcat、weblogic[oracle]、webshpere[IBM]
servlet:服务上,具体处理相关内容的文件。