博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Fetch使用
阅读量:4573 次
发布时间:2019-06-08

本文共 1429 字,大约阅读时间需要 4 分钟。

Fetch API 提供了一个获取资源的接口(包括跨域请求)。任何使用过 XMLHttpRequest 的人都能轻松上手,但新的API提供了更强大和灵活的功能集。

概念和用法

Fetch 提供了对 Request 和 Response (以及其他与网络请求有关的)对象的通用定义。使之今后可以被使用到更多地应用场景中:无论是service workers、Cache API、又或者是其他处理请求和响应的方式,甚至是任何一种需要你自己在程序中生成响应的方式。

注意事项:

1. fetch() 必须接受一个参数——资源的路径2. 无论请求成功与否,它都返回一个 Promise 对象,resolve 对应请求的 Response。你也   可以传一个可选的第二个参数init。3. 一旦 Response 被返回,就有一些方法可以使用了,比如定义内容或者处理方法(参见 Body)

参数

Promise<Response> fetch(input[, init]);

Input:1. String类型,URL请求2. Object类型,new Qeuest()Init:1. method: get、post...2. headers: 要添加到请求的任何标头,包含在Headers对象或具有ByteString值的对象文字中。 请注意,某些名称是被禁止的。3. body: 要添加到请求中的正文,请注意,使用GET或HEAD方法的请求不能包含正文。4. mode: 您希望用于请求的模式,例如,cors,no-cors或同源。

举例子

const myImage = document.querySelector('img');let myRequest = new Request('flowers.jpg');fetch(myRequest).then(function(response) {  if (!response.ok) {    throw new Error('HTTP error, status = ' + response.status);  }  return response.blob();}).then(function(response) {  let objectURL = URL.createObjectURL(response);  myImage.src = objectURL;});
const myImage = document.querySelector('img');let myHeaders = new Headers();myHeaders.append('Content-Type', 'image/jpeg');const myInit = { method: 'GET',               headers: myHeaders,               mode: 'cors',               cache: 'default' };let myRequest = new Request('flowers.jpg');fetch(myRequest,myInit).then(function(response) {  ... });

转载于:https://www.cnblogs.com/liruijia/p/Fetch-shi-yong.html

你可能感兴趣的文章
深入理解JavaScript原型链
查看>>
LinearGradient类来实现图片的渐变效果
查看>>
Golang关键字—— if/else
查看>>
数据清洗
查看>>
PHP&MySQL(三)——数组
查看>>
各种语法解释及用法
查看>>
UVA 1388 Graveyard
查看>>
Eclipse使用技巧
查看>>
网络请求之get与post异步请求
查看>>
堆和栈的区别
查看>>
清理内存
查看>>
蓝桥杯之装箱问题
查看>>
Spark常用算子详解
查看>>
JAVA_桥接模式
查看>>
C语言 strcpy,memcpy,memmove,memccpy函数
查看>>
C语言一个小程序的bug疑问 数组相关[已解决]
查看>>
几种排序算法(PHP版)
查看>>
数据库字段数据类型对索引的影响
查看>>
perl6的介绍与下载编译安装
查看>>
mesos cluster
查看>>