基于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 将其 ...
随机推荐
- ubuntu1204-gedit中文乱码
1 在界面上使用ALT-F2打开"执行应用程序"界面. 2 输入dconf-editor.然后点击"执行"打开"Configuration Edito ...
- Linux的文件权限(简单易懂)
学习这个章节,必须明白以下三个概念: 1.所有者 2.所属组 3.其他人 明白这三个概念后,接下来就学习文件的属性,那么文件的属性有什么呢?如何查看文件的属性? 在命令行下,执行 ls -l 可以得到 ...
- hdu 2117:Just a Numble(水题,模拟除法运算)
Just a Numble Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tot ...
- ZeroMQ一个更小、更快、更简单的智能传输层协议
这个githube上的教程是非常好的,是个中文翻译,大家直接学这个就行 https://github.com/anjuke/zguide-cn/tree/master/bin 原文地址: https: ...
- Java面试题全集(上)(中)(下) (转)+自己总结
Java面试题 自己总总结 https://www.cnblogs.com/songanwei/p/9366427.html Java面试题全集(上) https://blog.csdn.net/ja ...
- Camlistore名词解释
Terminology 名词解释 To stay sane and communicate effectively we try hard to use consistent terminology ...
- 编写高质量代码--改善python程序的建议(七)
原文发表在我的博客主页,转载请注明出处! 建议三十四:掌握字符串的基本用法 编程有两件事,一件是处理数值,另一件是处理字符串,在商业应用编程来说,处理字符串的代码超过八成,所以需要重点掌握. 首先有个 ...
- [科普]什么是SysWow64
Wow!什么是Wow64 今天有个同事,被SysWow64搞晕了.这里简单介绍一下. 64位的Windows并不是简单地把所有东西都编译成64位就万事大吉的.关于64位的CPU应该做成什么样子,Int ...
- flume sink两种类型 file_rool 自定义sing com.mycomm.MySink even if there is only one event, the event has to be sent in an array
mkdir /data/UnifiedLog/; cd /data/UnifiedLog/; wget http://mirror.bit.edu.cn/apache/flume/1.8.0/apac ...
- :nohlsearch
vim 编辑器 ——黄色阴影的消除问题 - leikun153的博客 - CSDN博客 https://blog.csdn.net/leikun153/article/details/78903597 ...