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相关推荐

  1. 使用ES6中Promise对象来封装ajax操作 以及then方法的返回值

    1 Promise的含义 所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果.从语法上说,Promise 是一个对象,从它可以获取异步操作的消息.Pr ...

  2. ajax fetch api,fetch 简介: 新一代 Ajax API

    AJAX半遮半掩的底层API是饱受诟病的一件事情. XMLHttpRequest 并不是专为Ajax而设计的. 虽然各种框架对 XHR 的封装已经足够好用, 但我们可以做得更好.更好用的API是 fe ...

  3. ES6之路第十二篇:Promise对象

    Promise的含义 Promise 是异步编程的一种解决方案,比传统的解决方案--回调函数和事件--更合理和更强大.它由社区最早提出和实现,ES6 将其写进了语言标准,统一了用法,原生提供了Prom ...

  4. 自学-ES6篇-Promise对象

    1.Promise Promise是异步编程的一种解决方案,比传统的解决方案--回调函数和事件--更合理和更强大.它由社区最早提出和实现,ES6将其写进了语言标准,统一了用法,原生提供了Promise ...

  5. 千峰Ajax【fetch和promise】

    promise基础 <script>// Promise构造函数var q = new Promise(function (resolve, reject) {//异步setTimeout ...

  6. bluebird与原生Promise对象及bluebird模块的中文API文档

    bluebird与原生Promise对象及bluebird模块的中文API文档 2016年06月15日     9392     声明 https://itbilu.com/nodejs/npm/VJ ...

  7. [Axios] 基于Promise封装属于自己的Ajax库

    基于Promise封装属于自己的Ajax库 自己封装ajax库 ;(function anonymous(window) {//支持设置默认的参数配置项let _default = {method: ...

  8. 如何将小程序内置非promise API转换为promise对象(风袖小程序的学习)

    非常重要,便于项目大局观,使用es7的 async和await 如何将小程序内置非promise API转换为promise 这里是我封装的一个wx.request函数如何将wx.request转换成 ...

  9. 微信小程序全栈开发实践 第三章 微信小程序开发常用的API介绍及使用 -- 3.6 网络接口简介(六)关于Page页面隐藏代码执行及Promise对象catch处理的补充

    零.回顾 在上节课我们主要是基于 Promise 加 await.async关键字改写了登录模块代码, 但是我们在自动登录这一块的代码仍然有问题,这节课我们看一下, 如何在接口调用中实现微信用户的自动 ...

最新文章

  1. 尹伊:用敏捷开发思维来成长!
  2. Sth about Haml
  3. c++画多边形_水彩画,这么美!怎么画出来的?
  4. 神策数据荣膺“2017 年度最受欢迎企业服务商 Top 10”
  5. C#连接MySQL时出现Unable to connect to any of the specified MySQL hosts.错误
  6. 【转】【UML】使用Visual Studio 2010 Team System中的架构师工具(设计与建模)
  7. svn server修改服务器地址,【转载】visual svn server更换服务器地址
  8. tomcat重启时保持会话关闭
  9. linux命令执行结果同行显示,Linux的watch命令 — 实时监测命令的运行结果
  10. 1核2g服务器能干什么_国内哪个云服务器比较便宜性价比高?大家有什么好推荐...
  11. 2017安防摄像头发展趋势分析
  12. java如何使截取字符串_java中如何截取字符串中的指定一部分
  13. 远程破解Linux操作系统密码
  14. jquery end()用法
  15. Go-在linux系统安装配置
  16. 超声波传感器(单介绍超声波)
  17. 读《史蒂芬·乔布斯传》有感
  18. 开源办公OA平台教程:如何修改O2OA配置连接本地部署的OnlyOffice Docs Server服务器?
  19. 华尔街日报:日本电子巨头为何败给iPhone?
  20. linux php扩展编译安装,Linux下单独编译安装PHP扩展包

热门文章

  1. 奥松机器人PHP,Arduino四位七段数码管 LED数码管 4位共阳数码管 显示屏模块
  2. php 正则替换url参数,JavaScript正则获取地址栏中参数的方法分享
  3. 7-48 字符串输入练习 (I) (15 分)
  4. linux ftp服务器已拒绝访问,linux ftp服务器已拒绝
  5. 查找两个单词链表共同后缀的起始结点(C++,单链表/双向链表解法)
  6. Linux下main函数启动过程【程序员自我修养笔记】【自用】
  7. (Python第七天)实例二玩转函数
  8. OpenCV——Mat类的创建、复制、函数
  9. (数据科学学习手札05)Python与R数据读入存出方式的总结与比较
  10. 【网络流】 HDU 4309 Seikimatsu Occult Tonneru 状压枚举边