概念介绍
1:什么是ajax:ajax就是(异步的JavaScript和XML)。
2:ajax核心是JavaScript 和XmlHttpRequest。 简而言之XmlHttpRequest可以使用JavaScript向服务器提出请求并处理相应。
3:优点。使用ajax可以动态刷新网页,就是在不用重新加载网页的情况下,可以只刷新网页的一部分就可以。使用Ajax的最大优点,就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。
4:Ajax不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。
概念介绍2:HTTP请求 HTTP(无状态协议)
一个HTTP请求一般由四个部分组成
1:HTTP请求的动作或者方法,比如是GET或者POST请求。
1):GET请求. 一般用于信息获取。(一般用来查询)
使用URL传递参数
对发送的数据信息有限制,一般在2000个字符。
2):POST请求。 一般用于修改服务器上的资源。(一般用来修改数据)
对与大小没有限制。
2:正在请求的URL。你要知道你请求的地址是什么。
3:请求头,包含一些客户环境,身份验证信息等等。
4:请求体,也就是请求正文,这里面包含查询的字符串,表单信息等等。
概念介绍3:HTTP响应
一个HTTP响应一般由三个部分组成
1:一个数字和一个文字来组成状态码,用来显示请求成功还是失败。
2:响应头,相应头和请求头一样包含许多有用的信息,例如服务器类型、日期时间、内容类型和长度等等。
3:响应体,也就是相应正文。
概念介绍4:HTTP状态码
HTTP状态码由三位数字构成,其中首位数字定义了状态类型
1:1XX。 信息类,表示web浏览器请求,正在进一步处理。
2:2XX。成功,表示用户信息被正确接收。 200就是成功的意思。
3:3XX。重定向。表示没有成功。
4:4XX。客户端错误,表示客户端的请求有问题。比如404 就是NOT Found,意味着请求的不存在。
5:5XX。服务器错误。表示服务器不能完成请求的处理。例如500.
概念介绍5:XMLHttpRequest发送请求
可以调用HTTP的请求类的方法open()和send()方法
1:open(method,url,async). //async请求同步或者异步
1):method 是请求的方式 有GET和POST。
2):url 是请求的路径。
3):async是请求同步还是异步。也就是是否为异步模式,可以选择true或者false。如果是true JavaScript函数讲继续执行,而不等待服务器的相应,这就是AJAX中的A。
2:send(String);
补充:open()方法调用以后发送到服务器,然后在调用send(); 下面是例子(eg是例子的意思)
eg1):request.open("GET","get.aspx","true");//请求异步
request.send();
eg2):request.open("POST","post.aspx","true");//请求异步
request.send();
eg3):request.open("POST","creat.aspx","true");
request.setRequestHeader("Content-ype","application/x-www-from-urlencoded");//请求头
requset.send("name=admin&&password=123");
概念介绍6:XMLHttpRequest取得响应
- responseText:获得字符串形式的响应数据
- responseXML:获得XML形式的响应数据
- status和statusText:以数字和文本的形式返回HTTP状态码 //status 状态
- getAllResponseHeader():获得所有响应报头
- getResponseHeader():查询相应中的某个字段的值
概念介绍7:XMLHttpRequest取得响应
readyState属性 // ready 就绪 state 状态 readyState 就绪状态
- 0:请求没有初始化,open还没有调用。
- 1:服务器链接已建立,open已经调用。
- 2:请求已经接收,接收到头的信息了。
- 3:请求处理中,也就是接受到响应主体了。
- 4:请求已经完成,且响应就绪,也就是相应完成了。
如何监听
var request = new XMLHttpRequest();
request.open("GEt","get.aspx","true");
request.sent();
request.onreadyStatechange = fnnction(){
if(request.readyState == 4 && request.status == 200){
//做一些事情 request.reponseText
}
}