ajax客户端请求与服务端响应浅谈

AJAX,即Asynchronous Javascript And XML,AJAX本质是在HTTP协议的基础上以异步的方式与服务器进行通讯。服务器

所谓的异步,是指某段程序执行不会阻塞其余程序执行,其表现形式为程序的执行顺序不依赖程序自己的书写顺序。
从而提高总体执行效率。异步

1:客户端请求
js内置http请求对象 XMLHttpRequest;
a、请求行
xhr.open() 发起请求,能够是get、post方式

get和post请求方式的差别post

一、GET没有请求主体,使用xhr.send(null)对象

二、GET能够经过在请求URL上添加请求参数事件

三、POST能够经过xhr.send('name=itcast&age=10')ip

四、POST须要设置get

五、GET效率更好(应用多)it

六、GET大小限制约4K,POST则没有限制
b、请求头
xhr.setRequestHeader() 设置请求头
c、请求内容
xhr.send() 发送请求主体 get方式使用xhr.send(null)ast

2:服务端相应
HTTP响应是由服务端发出的,因为服务器作出响应须要时间(好比网速慢等缘由),因此咱们须要监听服务器响应的状态,而后才能进行处理。
a、获取状态行(包括状态码&状态信息)
xhr.status 状态码,如200、30四、404等; xhr.statusText 状态码信息如OK;
b、获取响应头
xhr.getResponseHeader('Content-Type')获取指定头信息;xhr.getAllResponseHeaders();获取所有响应头信息;
c、响应主体
xhr.responseText xhr.responseXML 都表示响应主体,咱们须要检测并判断响应头的MIME类型后肯定使用request.responseText或者request.responseXML。效率

onreadystatechange是Javascript的事件的一种,其意义在于监听XMLHttpRequest的状态,各类状态以下:**readyState**0:请求未初始化(尚未调用 open())。 1:请求已经创建,可是尚未发送(尚未调用 send())。 2:请求已发送,正在处理中(一般如今能够从响应中获取内容头)。 3:请求在处理中;一般响应中已有部分数据可用了,可是服务器尚未完成响应的生成。 4:响应已完成;您能够获取并使用服务器的响应了。

相关文章
相关标签/搜索