分享:用promise封装ajax

news/2024/7/7 21:50:34

用promise封装ajax

var ajaxOptions = {url: 'url',method: 'GET',async: true,data: null,dataType: 'text',
}
function ajax(protoOptions) {var options = {};for(var i in ajaxOptions){options[i] = protoOptions[i] || ajaxOptions[i];}return new Promise(function(resolve, reject){var xhr = new XMLHttpRequest();xhr.open(options.method, options.url, options.async);xhr.onreadystatechange = function() {if (this.readyState === 4 && this.status === 200) {resolve(this.responseText, this);} else {var resJson = {code: this.status,response: this.response}reject(resJson, this)}}xhr.send()})
}
复制代码

1,open(method, url, async)

method: GET和POST;

url: 发送到服务端的url;

async: 异步true,同步false;

2,onreadystatechange

每当readyState的值变化,onreadystatechange函数自动执行

3,readyState 服务器响应的状态信息

  • 0: 请求未初始化
  • 1: 服务器连接已建立
  • 2: 请求已接收
  • 3: 请求处理中
  • 4: 请求已完成,且响应已就绪

当readyState的值为4,status状态为200时表示相应已就绪,可以执行成功调用的方法,反之调用失败调用的方法.

本次给大家推荐一个免费的学习群,里面概括移动应用网站开发,css,html,webpack,vue node angular以及面试资源等。 对web开发技术感兴趣的同学,欢迎加入Q群:864305860,不管你是小白还是大牛我都欢迎,还有大牛整理的一套高效率学习路线和教程与您免费分享,同时每天更新视频资料。 最后,祝大家早日学有所成,拿到满意offer,快速升职加薪,走上人生巅峰。


转载于:https://juejin.im/post/5bbc9e20f265da0ae3441203


http://lihuaxi.xjx100.cn/news/236118.html

相关文章

其他进制的数字

JS中如果需要表示16进制的数字,则需要以0X开头 0X10 八进制数字以0开头 070 070有些浏览器会以8进制解析,但是有些则用10进制解析,10进制为70,8进制为56 所以parseint() 第二个参数可以设定进制,比如 parseint(“070”,10)代表以10进制解析070 2进制以0b开头,但是不是所有浏览…

Python基础06-数据类型:元组tuple

目录 元组 元组的一般用法 元组的方法 元组 元组的一般用法 元组用()括起来,用逗号分隔元素,元素类型是任意的。因为函数、方法的调用也是用()括起来,为了避免混淆,写元组的时候,在最后一个元素后面多写一个逗号。…

一招:裂变方法论3点核心要素

我写过一次海报裂变的操作流程,当时看完文章并且去操作的人还不少。但事后给我的反馈是,有相当一部分人还是不知道怎么做。这其实也验证了一个观点,方法如果没有方法论做指导,长久来看,也只是杂乱无章的动作。这是因为…

埃森哲、亚马逊和万事达卡抱团推出的区块链项目有何神通?

据外媒报道,今日埃森哲宣布了一项新的区块链项目,该项目为基于区块链的循环供应链,将与万事达卡和亚马逊共同合作。据官方介绍,这个基于区块链的循环供应链能够让客户识别供应链上的小规模供应商和种植者,例如&#xf…

2022.12.1 英语背诵

allege 断言,宣称 opening 口,孔,开始 toil 辛劳工作 outrageous 残暴的,蛮横的 stuffing 填充物 expendiyure 支出,花费 crumble 弄碎,灭亡 invest 投资 exterminate 灭绝,根除 indig…

Python基础07-数据类型:字典dict

目录 字典 字典的一般用法 字典的方法 字典 字典的一般用法 字典是一组用{}括起来的键值对,每个键值对用逗号分隔。 # 字典 info {"Robin": "Baidu","Jack": ["Alibaba",20,{"B2C": "taobao.com&quo…

FIN_WAIT_2

来自转载:http://blog.sina.com.cn/s/blog_8e5d24890102w9yi.html 上图对排除和定位网络或系统故障时大有帮助,但是怎样牢牢地将这张图刻在脑中呢?那么你就一定要对这张图的每一个状态,及转换的过程有深刻地认识,不能只…

攻和防谁更厉害?AI技术在恶意软件检测中的应用和对抗

AI技术的发展为网络安全带来新机遇的同时,黑客也在逐渐利用AI漏洞建立对抗样本以躲避攻击,双方在各自领域的更多尝试也将是AI技术发展的一场新博弈。那么,在应用中,如何利用AI检测技术与恶意软件展开对抗? 腾讯安全技术…