基于Promise对象的新一代Ajax API--fetch
*****************************************************************
#fetch Request 使用isomorphic-fetch发送fetch请求 import fetch from 'isomorphic-fetch'; //ES6中为window原生方法 fetch(url,{
method: "POST",
headers: {"Content-Type":"application/x-www-form-urlencoded"}, body: "firstName=Nikhil&favColor=blue&password=easytoguess"
}).then(function(response) {
if (response.status >= 400) { //判断请求是否成功
throw new Error("Bad response from server!");
}
//response.headers.get('Content-Type')
//response.headers.get('Date')
//response.status
//response.statusText
//response.type
//response.url return response.json(); //将Promise对象转成json对象
//.text():返回字符串
//.json():返回一个JSON对象
//.formData():返回一个FormData对象
//.blob():返回一个blob对象
//.arrayBuffer():返回一个二进制数组
}).then(function(json) {
console.log(json); //执行你的代码
}).catch(function(ex) {
console.log('request failed', ex); //异常处理
});
***************************************************************** *****************************************************************
#JSONP Request 使用fetch-jsonp发送jsonp请求 import fetchJsonp from 'fetch-jsonp'; fetchJsonp(url,{
jsonp:'callback', //可不设置,默认生成为callback
jsonpCallback:'myCallback', //可不设置,默认生成随机名称
timeout:3000, //可不设置,默认5000
data:{a:1}, //参数 最后生成url?a=1&callback=myCallback的请求
}).then(function(response) {
return response.json(); //接受结果为Promise对象,转成json对象
}).then(function(json) {
console.log(json); //执行你需要的代码
}).catch(function(ex) {
console.log('parsing failed', ex); //异常处理
}) !!!jsonp返回的数据不能是纯json,而是"函数名(json)"的js代码
*****************************************************************
基于Promise对象的新一代Ajax API--fetch的更多相关文章
- 新一代Ajax API --fetch
之前 师傅跟我提过 一个新的Ajax API fetch 今天看到一篇关于fetch的文章,受益匪浅. XMLHttpRequest并不是专为Ajax而设计的,虽然各种框架对XHR的封装已经足够好用 ...
- ES6 用Promise对象实现的 Ajax 操作
下面是一个用Promise对象实现的 Ajax 操作的例子. const getJSON = function(url) { const promise = new Promise(function( ...
- 回调函数 和 promise对象,及封装API接口
1.回调函数:https://blog.csdn.net/baidu_32262373/article/details/54969696 注意:回调函数不一定需要用到 return.如果浏览器支持Pr ...
- 新一代AJAX API:FETCH
AJAX半遮半掩的底层API是饱受诟病的一件事情. XMLHttpRequest 并不是专为Ajax而设计的. 虽然各种框架对 XHR 的封装已经足够好用, 但我们可以做得更好.更好用的API是 fe ...
- 用Promise对象实现的 Ajax 操作
- 前后端数据交互(六)——ajax 、fetch 和 axios 优缺点及比较
一.ajax.fetch 和 axios 简介 1.1.ajax ajax是最早出现发送后端请求的技术,属于原生 js .ajax使用源码,请点击<原生 ajax 请求详解>查看.一般使用 ...
- ES6 Promise 对象
Promise 的含义 Promise 是异步编程的一种解决方案,比传统的解决方案--回调函数和事件--更合理和更强大.它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Pro ...
- 微信小程序Promise对象
Promise 对象 Promise 的含义 基本用法 Promise.prototype.then() Promise.prototype.catch() Promise.prototype.fin ...
- 13.Promise 对象
Promise 对象 Promise 对象 Promise 的含义 Promise 是异步编程的一种解决方案,比传统的解决方案--回调函数和事件--更合理和更强大.它由社区最早提出和实现,ES6 将其 ...
随机推荐
- MathType输入补集符号的步骤有哪些
集合符号在很多的数学领域都会用到,其基本的集合运算可以分为交.并.补这三种.但是一些用户朋友们在编辑文档的时候想输入集合符号这个时候就需要用到数学公式编辑器MathType,但是很多人能够快速地编辑出 ...
- Java中带包的类的编译与执行
http://blog.csdn.net/wbrs13/article/details/4859880
- Eclipse UML插件
Green UML http://green.sourceforge.net/ AmaterasUML http://amateras.sourceforge.jp/cgi-bin/fswiki_en ...
- 如何让VS检查函数和类Comment的添加情况
问题: 现在有一个大的项目,我不能确定是否每个类和函数是否已经加上了comments,是否每个comments都是标注正确的. VS中有没有检查Comments的功能? 解决方案: 1.右击proje ...
- iOS从当前隐藏导航界面push到下一个显示导航界面出现闪一下的问题
本文转载至 http://blog.csdn.net/woaifen3344/article/details/41284319 navios 如果有朋友遇到从当前隐藏导航界面push到下一个显示导航界 ...
- 【BZOJ4540】[Hnoi2016]序列 莫队算法+单调栈
[BZOJ4540][Hnoi2016]序列 Description 给定长度为n的序列:a1,a2,…,an,记为a[1:n].类似地,a[l:r](1≤l≤r≤N)是指序列:al,al+1,…,a ...
- 记录--关于Jquery uploadify 不能动态传值的问题(java)
动态传值纠结多时后无效, 后得下面一番代码,依旧无效~~ 纳了几个闷,心灰意冷下 清理了 tomcat 一次 再出运行 可以了 真心纠结很久很久 无奈之下还是得 清理清理tomcat: ...
- 使用ServiceStack缓存技术
ServiceStack 是一个高性能的 .NET Web 服务框架,简化了开发 XML.JSON.JSV 和 WCP SOAP Web 服务.它定义了符合 Martin Fowlers 数据传输对象 ...
- python基础-第十三篇-13.2Web框架之Tornado
Tornado是非阻塞异步web frame,而且速度相当快,得力于其非阻塞的方式和对epoll的运用 Tornado每秒可以处理数以千计的链接,所以它可以有效的处理C10K问题 下载安装 pip3 ...
- Hibernate 的查询
1. Hibernate 框架的查询方式 唯一标识OID的检索方式: session.get(对象.class, OID) 对象导航的方式; HQL 检索方式; QBC 检索方式; SQL 检索方式 ...