• 基于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 *****************************************************************
  • 相关阅读:
    组装树状结构文本框
    在jsp页面动态添加,删除文本框模块
    sql字段拆分 ,连表子查询获取值
    jsp页面技术总结
    C语言的基本数据类型
    如何学习一些需要算法的程序
    如何学习一门新的编程语言
    C++ 预处理器
    C++ 函数模板&类模板
    C++ 文件和流
  • 原文地址:https://www.cnblogs.com/guanghe/p/6789606.html
Copyright © 2020-2023  润新知