基于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 将其 ...
随机推荐
- 对IOS设备中UDID的一些思考
本文转载至 http://blog.csdn.net/happyrabbit456/article/details/11565209 http://blog.csdn.net/xiaoguan2008 ...
- cxGrid 显示行号及行号列列名
cxGrid默认不显示行号,但是可以通过cxGrid1DBTableView1CustomDrawIndicatorCell事件来重绘行号 选中cxGrid1DBTableView1,在OnCusto ...
- [原创]adb使用教程v1.1.0-----by-----使用logcat快速抓取android崩溃日志
原文再续,书接上回:<使用logcat快速抓取android崩溃日志>中提到的工具包可以下载拉~ <使用logcat快速抓取android崩溃日志>:http://www.cn ...
- 《从零开始学Swift》学习笔记(Day 63)——Cocoa Touch设计模式及应用之单例模式
原创文章,欢迎转载.转载请注明:关东升的博客 什么是设计模式.设计模式是在特定场景下对特定问题的解决方案,这些解决方案是经过反复论证和测试总结出来的.实际上,除了软件设计,设计模式也被广泛应用于其他领 ...
- ArcGIS Silverlight 设置token
背景 arcgis for server采用多种安全认证方式.常用的就是就是采用token机制.所以对服务设置了安全,则前端需要提供相对应的token凭证.通常来说设置token有以下两种情形: 一是 ...
- 2015-03-22——js常用的String方法
String string.charAt(pos); //返回字符串中pos位置处的字符.如果pos小于0或大于等于string.length返回空字符串.模拟实现:Function.prototy ...
- 我的Android进阶之旅】GitHub 上排名前 100 的 Android 开源库进行简单的介绍
GitHub Android Libraries Top 100 简介 本文转载于:https://github.com/Freelander/Android_Data/blob/master/And ...
- session补充
- Linux学习笔记—vim程序编辑器
vi和vim vim是vi的升级版,支持vi的所有指令 vi的使用 vi分为三种模式:一般模式.编辑模式.命令行模式 一般模式 以vi打开一个文件就直接进入一般模式了,这个模式下可以使用上下左右按键来 ...
- 使用pycharm操作django
新建项目,选择已经建立好的虚拟环境 进入指令界面 新建app 添加一些文件和文件夹用于以后存放各种数据 settings设置 TEMPLATES设置 TEMPLATES = [ { 'BACKEND' ...