Fetch API 是近年来被提及将要取代 XHR 的技术新标准,是一个 HTML5 的 API。
Fetch 并不是 XHR 的升级版本,而是从一个全新的角度来思考的一种设计。
语法
1  | Promise<Response> fetch(input[, init]);  | 
参数
input 定义要获取的资源
init 配置项对象(可选)
method:请求使用的方法,如GET、POST。headers:请求的头信息,形式为Headers的对象或包含ByteString值的对象字面量。body:请求的 body 信息:可能是一个Blob、BufferSource、FormData、URLSearchParams或者USVString对象。注意 GET 或 HEAD 方法的请求不能包含 body 信息。mode:请求的模式- cors:允许跨域,要求响应中 
Acess-Control-Allow-Origin这样的头部表示允许跨域。 - no-cors:只允许使用 
HEAD、GET、POST方法。 - same-origin:只允许同源请求,否则直接报错。
 - navigate:支持页面导航。
 
- cors:允许跨域,要求响应中 
 credentials:表示是否发送 cookie- omit:不发送 cookie。
 - same-origin:仅在同源时发送 cookie。
 - include:发送 cookie。
 
cache:表示处理缓存的策略,请求的 cache 模式:default、no-store 、reload 、no-cache 、force-cache或者only-if-cached 。redirect:表示发生重定向时,可用的 redirect 模式follow:自动重定向。error:如果产生重定向将自动终止并且抛出一个错误。manual:手动处理重定向。在 Chrome 中,Chrome 47 之前的默认值是 follow,从 Chrome 47 开始是 manual。
referrer:一个USVString可以是no-referrer、client或一个 URL。默认是client。integrity:包含一个用于验证资资源完整性的字符串。
示例
GET:
1  | fetch('/some/url', { method: 'GET' })  | 
POST:
1  | fetch('/some/url', {  |