1.创建XMLHttpRequest(ajax对象);
2..链接到服务器
3.发送请求
4.接受返回值
function ajax(url,fnSucc,fnFaild){
// 参数;1.连接服务器的地址 2.成功时函数 3,失败时函数
// 1. 创建xmlhttprequest对象
var xmlHttp = null;
if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();//ie6及以下不兼容,针对主流浏览器
}else{ // 针对ie5, ie6
xmlHttp = new ActiveXObject("Microsoft,XMLHTTP");
}
//2. 连接服务器
xmlHttp.open('GET',url,true); //xmlhttp.open(method,url,async)
// method 包含 get 和 post两种方法 url主要是文件或资源的路径,async参数为true(代表异步)或者false(代表同步)
//3.向服务器端发送请求
xmlHttp.send();
//4.接受服务器的返回
xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState == 4){ // 判断交互是否成功
if(xmlHttp.status == 200){ //获取服务器返回的数据 获取纯文本数据
//alert('成功:'+xmlHttp.responseText);
fnSucc(xmlHttp.responseText);
}else{
//alert('失败');
if(fnFaild){
fnFaild();
}
}
}
}
}
HTTP请求:是一种规则,无状态,无记忆
HTTP请求过程
(1)建立TCP连接
(2)web浏览器向web服务器发送请求指令
(3)web浏览器发送请求头信息
(4)web服务器应答
(5)web服务器发送应答头信息
(6)web服务器向浏览器发送数据
(7)web服务器关闭TCP连接
HTTP请求的4个·组成部分
a、HTTP请求方法或者动作(GET/POST)
b、正在请求的URL
c、请求头,包含客户环境信息、身份信息等
d、请求体(正文),包含客户提交的查询字符串信息、表单信息
POST和GET方法
GET:(1)用于信息获取
(2)使用URL传递参数
(3)String<=2000个字符左右
POST:(1)用于修改服务器上的资源
(2)String<=无穷大
一个HTTP响应由三个部分组成
a、一个数字和文字组成的转态码。作用:显示请求是否成功
b、响应头,包含服务器类型、日期、内容类型、长度等
c、响应体,即响应正文,字符串、HTML等
HTTP状态码由3个数字构成,其中首位数字定义了状态码的类型
1^^:信息类,表示收到web请求,正在进行处理中
2^^:成功,表示用户请求被正确接收、理解和处理,如200
3^^:重定向,表示请求未成功,客户必须采取动作
4^^:客户端错误,客户提交的信息有误,如400
found:意味着请求中所引用的文档不存在
5^^:服务器错误(最难处理的问题),表示服务器不能完成请求处理,如500