Ajax(XMLHttpRequest)怎么判断请求成功还是失败,原生JS有没有什么方法可以替代ajax
2条回答 默认 最新
- wanmeikakaxi 2021-03-10 06:28关注
AJAX - onreadystatechange 事件
当请求被发送到服务器,服务器对我们的请求响应时,我们需要执行一些基于响应的任务。也就是每当 readyState 改变时,就会触发 onreadystatechange 事件。
readyState 属性存有 XMLHttpRequest 的状态信息。
下面是 XMLHttpRequest 对象的三个重要的属性:
在 onreadystatechange 事件中,我们规定当服务器响应已做好被处理的准备时所执行的任务。
当 readyState 等于 4 且状态为 200 时,表示响应已就绪:
xmlhttp.onreadystatechange=function(){ if (xmlhttp.readyState==4 && xmlhttp.status==200){ console.log("成功"); } }
原生js实现Ajax
var Ajax = { get: function(url,callback){ var xhr=new XMLHttpRequest(); xhr.open('GET',url,false); xhr.onreadystatechange=function(){ //判断返回状态 // readyState == 4说明请求已完成 if(xhr.readyState==4){ if(xhr.status==200 || xhr.status==304){ console.log(xhr.responseText); callback(xhr.responseText); } } } xhr.send(); }, post: function(url,data,callback){ var xhr=new XMLHttpRequest(); xhr.open('POST',url,false); // 添加协议头, xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); xhr.onreadystatechange=function(){ //判断返回状态 // readyState == 4说明请求已完成 if (xhr.readyState==4){ if (xhr.status==200 || xhr.status==304){ callback(xhr.responseText); } } } xhr.send(data); } }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 2无用
悬赏问题
- ¥20 机器学习能否像多层线性模型一样处理嵌套数据
- ¥20 西门子S7-Graph,S7-300,梯形图
- ¥50 用易语言http 访问不了网页
- ¥50 safari浏览器fetch提交数据后数据丢失问题
- ¥15 matlab不知道怎么改,求解答!!
- ¥15 永磁直线电机的电流环pi调不出来
- ¥15 用stata实现聚类的代码
- ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
- ¥20 docker里部署springboot项目,访问不到扬声器
- ¥15 netty整合springboot之后自动重连失效