zoukankan      html  css  js  c++  java
  • 基于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 *****************************************************************
  • 相关阅读:
    为什么股票一买就跌,一卖就涨?终于找到答案了!
    搜集的一些股票讲师的博客
    一位操盘手的临别赠言
    VMware网络连接 桥接、NAt、host-only模式
    我常用的网络测试工具
    linux下性能测试工具netperf使用
    vm10虚拟机安装Mac OS X10.10教程
    ACE_Svc_Handler 通信原理
    mypwd实现
    2019-2020-1 20175307 20175308 20175319 实验五 通讯协议设计
  • 原文地址:https://www.cnblogs.com/guanghe/p/6789606.html
Copyright © 2011-2022 走看看