ajax
Ajax 全称是 asynchronous javascript and xml,并不是新的编程语言,可以说是已有技术的组合,主要用来实现客户端与服务器端的异步通信效果,实现页面的局部刷新,从而创建快速动态网页的技术。
ajax的优缺点
(1).AJAX的优点
<1>.无刷新更新数据。
<2>.异步与服务器通信。
<3>.前端和后端负载平衡。
<4>.基于标准被广泛支持。
<5>.界面与应用分离。
(2).AJAX的缺点
<1>.AJAX干掉了Back和History功能,即对浏览器机制的破坏。
<2>.AJAX的安全问题。
<3>.对搜索引擎支持较弱。
<4>.破坏程序的异常处理机制。
<5>.违背URL和资源定位的初衷。
<6>.AJAX不能很好支持移动设备。
<7>.客户端过肥,太多客户端代码造成开发上的成本。
过程
(1)创建XMLHttpRequest
对象,也就是创建一个异步调用对象.
(2)创建一个新的HTTP
请求,并指定该HTTP
请求的方法、URL
及验证信息.
(3)设置响应HTTP
请求状态变化的函数.
(4)发送HTTP
请求.
(5)获取异步调用返回的数据.
(6)使用JavaScript和DOM实现局部刷新.
ajax核心对象
var xmlhttp;
if(window.XMLHttpRequest){
//IE7+,Chrome,Firefox,Safari,Opera执行此代码 xmlhttp=new XMLHttpRequest;
}else{
//IE5,IE6执行该代码
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
向服务器发送请求
xmlhttp.open(method,url,async);
xmlhttp.send();
post请求和get请求
method:请求的类型;GET 或 POST
url:文件在服务器上的位置,相对位置或绝对位置
async:true(异步)或 false(同步)
send(string)方法post请求时才使用字符串参数,否则不用带参数。
post请求一定要设置请求头的格式内容
get和post的区别
参数放置的位置
get参数是在地址栏中
post参数在请求体中
大小
get是2000个字符左右
post理论上是无限大的
同步执行:
异步执行
一共有5中请求状态,从0 到 4 发生变化。
0: 请求未初始化
1: 服务器连接已建立
2: 请求已接收
3: 请求处理中
4: 请求已完成,且响应已就绪
xmlhttp.status:响应状态码。
200: “OK”
304:该资源在上次请求之后没有任何修改(这通常用于浏览器的缓存机制,使用GET请求时尤其需要注意)。
403 (禁止) 服务器拒绝请求。
404 (未找到) 服务器找不到请求的网页。
408 (请求超时) 服务器等候请求时发生超时。
500 (服务器内部错误) 服务器遇到错误,无法完成请求。