ajax发送异步请求四个步骤,深入理解ajax异步请求的五个步骤(详细代码)
大家好,又见面了,我是你们的朋友全栈君。
在前端工作中,经常会用到ajax,其实很多人只知道ajax是异步请求,不知道应该如何用它,它的基本步骤有哪些,ajax请求过程是怎样的?接下来这篇文章就给大家介绍Ajax的请求步骤,以及ajax请求步骤的详细代码。感兴趣的朋友可以看看。
AJAX(Asynchronous JavaScript and XML):是指一种创建交互式网页应用的网页开发技术,通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这就意味着可以在不重新加载整个网页的情况下,对网页的局部进行更新。
1.建立xmlHttpRequest对象
所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均支持XMLHttpRequest 对象,而IE5 和 IE6 使用 的是ActiveXObject。if(window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
if(xmlHttp.overrideMimeType){
xmlHttp.overrideMimeType(“text/xml”);
}
}else if(window.ActiveXobject){
var activeName =[“MSXML2.XMLHTTP”,”Microsoft.XMLHTTP”];
for(var i=0; i
try{
xmlHttp = new ActiveXobject(activeName[i]);
break;
}catch(e){
}
}
}
if(!xmlHttp){
alert(“创建xmlhttprequest对象失败”);
}else{
}
2.设置回调函数xmlHttp.onreadystatechange= callback;
function callback(){}
3.使用OPEN方法与服务器建立连接 xmlHttp.open(“get”,”ajax?name=”+ name,true)
此步注意设置http的请求方式(post/get),如果是POST方式,注意设置请求头信息xmlHttp.setRequestHeader(“Content-Type”,”application/x-www-form-urlencoded”)
4.向服务器端发送数据xmlHttp.send(null);
如果是POST方式就不为空
5.在回调函数中针对不同的响应状态进行处理if(xmlHttp.readyState == 4){
//判断交互是否成功
if(xmlHttp.status == 200){
//获取服务器返回的数据
//获取纯文本数据
var responseText =xmlHttp.responseText;
document.getElementById(“info”).innerHTML = responseText;
}
}
readyState属性:表示请求/响应过程的当前阶段
0:未初始化。尚未调用 open()方法。
1:启动。已经调用 open()方法,但尚未调用 send()方法。
2:发送。已经调用 send()方法,但尚未接收到响应。
3:接收。已经接收到部分响应数据。
4:完成。已经接收到全部响应数据,而且已经可以在客户端使用了。
只有在XMLHttpRequest对象完成了以上5个步骤之后,才可以获取从服务器端返回的数据。
status属性:响应的 HTTP 状态码
200:响应成功
301:永久重定向/永久转移
302:临时重定向/临时转移
304:本次获取内容是读取缓存中的数据
400:请求参数错误
401:无权限访问
404:访问的资源不存在
总结:以上介绍了Ajax请求的五个步骤以及详细代码 ,没有接触过得朋友可能看起来比较困难,没关系,看了以后,多去动手敲敲,慢慢就懂了,希望可以帮助到你!
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/145570.html原文链接:https://javaforall.cn
相关文章
- ajax跨域解除方案,关于Ajax跨域问题及解决方案详析「建议收藏」
- 什么是Ajax以及ajax请求的步骤[通俗易懂]
- Thinkphp5学习018-项目安全-添加学生-简单的异步调用(ajax)
- 【AJAX】对于AJAX 解析已经XMLHttpRequest对象对于异步的操作等等在项目中的体验
- jquery ajax详解编程语言
- Ajax实现从MySQL读取数据(ajax 读取mysql)
- Ajax实现MySQL读写服务接口(ajax读写mysql)
- 数据通过Ajax加载MySQL数据(ajax获取mysql)
- Ajax快速查询MySQL数据库(ajax查询mysql)
- 学习Ajax基于MySQL的实例实践(ajax实例 mysql)
- 从MySQL分批传输至客户端AJAX解决方案(ajax分批mysql)
- 展现灵活性Ajax与MySQL的交互(ajax与mysql交互)
- 使用Ajax和Mysql实现简单点赞功能(ajax mysql点赞)
- Ajax实现对Oracle的异步操作(ajax操作oracle)
- 异步Ajax与Oracle数据库实现无缝连接(ajax连接oracle)
- Ajax按需读取数据生成下级菜单
- AJAX异步传输数据的问题
- JavaScript联动的无限级封装类,数据采用非Ajax方式,随意添加联动
- AJAX下的请求方式以及同步异步的区别小结
- php中通过Ajax如何实现异步文件上传的代码实例
- ajax异步刷新实现更新数据库
- AJAX跨域请求json数据的实现方法
- 判断请求头中是否含有某属性来判断是否是ajax请求
- 利用Linq+Jquery+Ajax实现异步分页功能可简化带宽压力
- ajax请求成功后新开窗口window.open()被拦截解决方法