fetch下一代ajax请求数据的封装
来源:互联网 发布:混油皮护肤品推荐知乎 编辑:程序博客网 时间:2024/06/05 04:04
传统使用回调函数的方式
1.get请求方法的封装
/** * get请求数据 * @param url url地址 * @param callback 回调函数 */let getJson = function (url,callback) { fetch(url).then((response) => response.json()) .then((data)=>{ callback(data) })}
2.post请求的封装
/** * post提交数据或者请求数据 * @param url url地址 * @param data 提交的数据 * @param callback 回调函数 */let postJson = function(url,data,callback){ var fetchOptions = { method:"POST", headers:{ "Accept":"application/json", "Content-Type":"application/json" }, body:JSON.stringify(data) }; fetch(url,fetchOptions).then((response)=>response.json()).then((data)=>{ callback(data); })}
借助ES6
中的promise
的方式封装
1.get
请求方式
let getJson = (url) => { return new Promise((resolve, reject) => { fetch(url).then(function (response) { return response.json(); }).then(function (json) { resolve(json); }) });}
调用方法
getJson("http://www.xxx/mobile.php?c=Product&a=category").then((data) => { console.log(data); }).catch((err) => { console.log(err); })
备注:如果要获取请求头信息就要在
fetch(url).then(function (response) {
里面获取
return response.json();
})
2.post
请求方式
let postJson = (url)=>{ var fetchOptions = { method:"POST", headers:{ "Accept":"application/json", "Content-Type":"application/json" }, body:JSON.stringify(data) }; return new Promise((resolve, reject)=>{ fetch(url,fetchOptions).then((response)=>response.json()).then((data)=>{ resolve(data); }) }) }
1 0
- fetch下一代ajax请求数据的封装
- Fetch:下一代 Ajax 技术
- XMLHttpRequest的下一代fetch
- fetch实践 替代jquery封装的ajax
- ES7标准 fetch请求封装
- 封装兼容的Ajax请求
- React-Native Fetch网络请求的简单封装
- 封装ajax请求数据翻页效果
- HttpClient请求数据的封装
- 请求数据的封装类
- React Native 网络请求封装:使用Promise封装fetch请求
- React Native 网络请求封装:使用Promise封装fetch请求
- React Native 网络请求封装:使用Promise封装fetch请求
- React Native 网络请求封装:使用Promise封装fetch请求
- React Native网络请求fetch简单封装
- 用ES6和fetch封装网络请求
- jquery封装的ajax的请求
- jquery的封装ajax的get请求
- Android 进程间通信之Messenger
- 作为开发者,你都听产品经理的,做的累不累?
- linux下passwd命令设置修改用户密码的方法
- 题目:计算数组中元素出现的次数
- SSM框架打造完整电商平台(四)
- fetch下一代ajax请求数据的封装
- 12Bet Malaysia Online Sign Up Bonus
- vue实例
- Activiti工作流简单入门
- iOS与OS多线程和内存管理----GCD底层实现
- SpringDataJPA学习记录(三)--复杂查询的封装
- 动态规划专题
- MySQL学习(十)
- 在Windows 7环境下使用dos命令安装.Net 4.0 及ISAPI和CGI限制配置