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无用
悬赏问题
- ¥15 求多普勒频移瞬时表达式
- ¥15 VS2022 C++的相关代码问题咨询
- ¥15 如果要做一个老年人平板有哪些需求
- ¥15 k8s生产配置推荐配置及部署方案
- ¥15 matlab提取运动物体的坐标
- ¥15 人大金仓下载,有人知道怎么解决吗
- ¥15 一个小问题,本人刚入门,哪位可以help
- ¥30 python安卓开发
- ¥15 使用R语言GD包一直不出结果
- ¥15 计算机微处理器与接口技术相关问题,求解答图片的这个问题,有多少个端口,端口地址和解答问题的方法和思路,不要AI作答