基于Promise对象的新一代Ajax API--fetch
1 ***************************************************************** 2 #fetch Request 使用isomorphic-fetch发送fetch请求 3 4 import fetch from 'isomorphic-fetch'; //ES6中为window原生方法 5 6 fetch(url,{ 7 method: "POST", 8 headers: {"Content-Type":"application/x-www-form-urlencoded"}, 9 body: "firstName=Nikhil&favColor=blue&password=easytoguess" 10 }).then(function(response) { 11 if (response.status >= 400) { //判断请求是否成功 12 throw new Error("Bad response from server!"); 13 } 14 //response.headers.get('Content-Type') 15 //response.headers.get('Date') 16 //response.status 17 //response.statusText 18 //response.type 19 //response.url 20 21 return response.json(); //将Promise对象转成json对象 22 //.text():返回字符串 23 //.json():返回一个JSON对象 24 //.formData():返回一个FormData对象 25 //.blob():返回一个blob对象 26 //.arrayBuffer():返回一个二进制数组 27 }).then(function(json) { 28 console.log(json); //执行你的代码 29 }).catch(function(ex) { 30 console.log('request failed', ex); //异常处理 31 }); 32 ***************************************************************** 33 34 ***************************************************************** 35 #JSONP Request 使用fetch-jsonp发送jsonp请求 36 37 import fetchJsonp from 'fetch-jsonp'; 38 39 fetchJsonp(url,{ 40 jsonp:'callback', //可不设置,默认生成为callback 41 jsonpCallback:'myCallback', //可不设置,默认生成随机名称 42 timeout:3000, //可不设置,默认5000 43 data:{a:1}, //参数 最后生成url?a=1&callback=myCallback的请求 44 }).then(function(response) { 45 return response.json(); //接受结果为Promise对象,转成json对象 46 }).then(function(json) { 47 console.log(json); //执行你需要的代码 48 }).catch(function(ex) { 49 console.log('parsing failed', ex); //异常处理 50 }) 51 52 !!!jsonp返回的数据不能是纯json,而是"函数名(json)"的js代码 53 *****************************************************************
基于Promise对象的新一代Ajax API--fetch相关推荐
- 使用ES6中Promise对象来封装ajax操作 以及then方法的返回值
1 Promise的含义 所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果.从语法上说,Promise 是一个对象,从它可以获取异步操作的消息.Pr ...
- ajax fetch api,fetch 简介: 新一代 Ajax API
AJAX半遮半掩的底层API是饱受诟病的一件事情. XMLHttpRequest 并不是专为Ajax而设计的. 虽然各种框架对 XHR 的封装已经足够好用, 但我们可以做得更好.更好用的API是 fe ...
- ES6之路第十二篇:Promise对象
Promise的含义 Promise 是异步编程的一种解决方案,比传统的解决方案--回调函数和事件--更合理和更强大.它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Prom ...
- 自学-ES6篇-Promise对象
1.Promise Promise是异步编程的一种解决方案,比传统的解决方案--回调函数和事件--更合理和更强大.它由社区最早提出和实现,ES6将其写进了语言标准,统一了用法,原生提供了Promise ...
- 千峰Ajax【fetch和promise】
promise基础 <script>// Promise构造函数var q = new Promise(function (resolve, reject) {//异步setTimeout ...
- bluebird与原生Promise对象及bluebird模块的中文API文档
bluebird与原生Promise对象及bluebird模块的中文API文档 2016年06月15日 9392 声明 https://itbilu.com/nodejs/npm/VJ ...
- [Axios] 基于Promise封装属于自己的Ajax库
基于Promise封装属于自己的Ajax库 自己封装ajax库 ;(function anonymous(window) {//支持设置默认的参数配置项let _default = {method: ...
- 如何将小程序内置非promise API转换为promise对象(风袖小程序的学习)
非常重要,便于项目大局观,使用es7的 async和await 如何将小程序内置非promise API转换为promise 这里是我封装的一个wx.request函数如何将wx.request转换成 ...
- 微信小程序全栈开发实践 第三章 微信小程序开发常用的API介绍及使用 -- 3.6 网络接口简介(六)关于Page页面隐藏代码执行及Promise对象catch处理的补充
零.回顾 在上节课我们主要是基于 Promise 加 await.async关键字改写了登录模块代码, 但是我们在自动登录这一块的代码仍然有问题,这节课我们看一下, 如何在接口调用中实现微信用户的自动 ...
最新文章
- 尹伊:用敏捷开发思维来成长!
- Sth about Haml
- c++画多边形_水彩画,这么美!怎么画出来的?
- 神策数据荣膺“2017 年度最受欢迎企业服务商 Top 10”
- C#连接MySQL时出现Unable to connect to any of the specified MySQL hosts.错误
- 【转】【UML】使用Visual Studio 2010 Team System中的架构师工具(设计与建模)
- svn server修改服务器地址,【转载】visual svn server更换服务器地址
- tomcat重启时保持会话关闭
- linux命令执行结果同行显示,Linux的watch命令 — 实时监测命令的运行结果
- 1核2g服务器能干什么_国内哪个云服务器比较便宜性价比高?大家有什么好推荐...
- 2017安防摄像头发展趋势分析
- java如何使截取字符串_java中如何截取字符串中的指定一部分
- 远程破解Linux操作系统密码
- jquery end()用法
- Go-在linux系统安装配置
- 超声波传感器(单介绍超声波)
- 读《史蒂芬·乔布斯传》有感
- 开源办公OA平台教程:如何修改O2OA配置连接本地部署的OnlyOffice Docs Server服务器?
- 华尔街日报:日本电子巨头为何败给iPhone?
- linux php扩展编译安装,Linux下单独编译安装PHP扩展包
热门文章
- 奥松机器人PHP,Arduino四位七段数码管 LED数码管 4位共阳数码管 显示屏模块
- php 正则替换url参数,JavaScript正则获取地址栏中参数的方法分享
- 7-48 字符串输入练习 (I) (15 分)
- linux ftp服务器已拒绝访问,linux ftp服务器已拒绝
- 查找两个单词链表共同后缀的起始结点(C++,单链表/双向链表解法)
- Linux下main函数启动过程【程序员自我修养笔记】【自用】
- (Python第七天)实例二玩转函数
- OpenCV——Mat类的创建、复制、函数
- (数据科学学习手札05)Python与R数据读入存出方式的总结与比较
- 【网络流】 HDU 4309 Seikimatsu Occult Tonneru 状压枚举边