大家好,欢迎来到IT知识分享网。
先来了解一下:AJAX
AJAX是Asynchronous Javascript and Xml的缩写,可以理解为客户端与服务器端进行交互,而无需刷新当前页面的技术称为AJAX
同步交互:
客户端向服务器端发送请求,到服务器端进行响应的过程中,用户不能做其他事情(只能进行等待)
异步交互:
客户端向服务器端发送请求,到服务器端进行响应的过程中,用户可以做其他事情
同步交互与异步交互的区别:
同步交互:
-
执行速度相比较慢
-
响应的是完整的HTML页面
异步交互:
-
执行速度相比较快
-
响应的是部分数据
实质使用XMLHttpRequest对象异步的向服务器发送请求
创建XMLHttpRequest对象
function getXhr(){
var xhr=null //声明XMLHttpRequest对象
// 根据不同的浏览器进行创建
if(window.XMLHttpRequest)
{
//表示除IE外的其他浏览器
xhr= new XMLHttpRequest();
}else{
//表示IE浏览器
xhr=new ActiveXObject(‘Microsoft.XMLHttp’);
}
return xhr;
}
创建核心对象就可以复制上面的代码进行创建:: var xhr=getXhr();
XMLHttpRequest对象常用方法:
open(“method”,”url”,[asyncFlag])方法//用于设置进行异步请求目标的URL
-
method为请求类型(GET,POST)
-
url:目标路径,
-
asyncFlag:可选参数,指定请求方式,异步为true,同步为fasle(同步已经不再使用,默认就好)
send(content)方法//用于向服务器发送请求
content格式:key=value 例如:xhr.send(“user=zhangsan”);
//注意:如果请求类型为GET方式的话send()方法不能向服务器端发送请求数据de
但是send()方法不能省略,应该这样写 :xhr.send(NULL);
但是如果发送数据就应该这样写:xhr.open(“GET”,”01.jsp?user=zhangsan”);
XMLHttpRequest对象常用属性:
onreadystatechange事件–监听服务器//状态改变时就会触发此事件
readyState属性—获取请求的状态(属性值介绍)
-
0—未初始化(服务器端)
-
1—正在加载 (服务器端正在接收请求)
-
2—已加载 (服务器端接收完成)
-
3—交互中 (正在响应)
-
4—完成 (响应完成)
status属性:
-
200—表示成功
-
202—表示请求被接受,但尚未成功
-
400—错误的请求
-
404—文件未找到
-
500—内部服务器错误
responseText属性:用于获取服务器的响应,表示为字符串
实现AJAX异步交互步骤:
-
创建XMLHttpRequest核心对象(以上的写法)
-
与服务器端建立连接:使用XMLHttpRequest对象的open()方法
-
向服务器端发送请求:使用XMLHttpRequest对象的send()方法
-
接受服务器端的响应数据:使用XMLHttpRequest对象的onreadystatechange事件,监听服务器端的通信状态。
使用XMLHttpRequest对象的readyState属性,判断服务器端的当前状态(0-4)
使用XMLHttpRequest对象的status属性,判断服务器端的当前状态(0-4)
使用XMLHttpRequest对象的responseText属性,接收服务器端的响应数据
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/6957.html