fetch

作者: 在下高姓 | 来源:发表于2020-10-30 18:07 被阅读0次

    标签: fetch


    正文

    1、第一个参数是URL:
    2、第二个是可选参数,可以控制不同配置的 init 对象
    3、使用了 JavaScript Promises 来处理结果/回调:
    
    fetch和ajax 的主要区别
    1、fetch()返回的promise将不会拒绝http的错误状态,即使响应是一个HTTP 404或者500
    2、在默认情况下 fetch不会接受或者发送cookies
    
    读取json文件
     // 读取我们的 JSON --fetch是通过Promises回调的
    async function func(){
         let response = await fetch('/article/promise-chaining/user.json');
         let user = await response.json();
     }
     
    
    Js中fetch方法
    fetch()方法定义在Window对象以及WorkerGlobalScope对象上,用于发起获取资源的请求,其返回一个Promise对象,这个Promise对象会在请求响应后被resolve,并传回Response对象。
    
    描述#
    Promise<Response> fetch(url, init)
    
    url: 定义要获取的资源,其值可以是:
    
    一个字符串,包含要获取资源的URL,一些浏览器会接受 blob和data作为schemes。
    一个Request对象。
    init: 一个配置项对象,包括所有对请求的设置。可选的参数有:
    
    method: 请求使用的方法,如GET、POST。
    headers: 请求的头信息,形式为Headers的对象或包含ByteString值的对象字面量。
    body: 请求的body信息:可能是一个Blob、BufferSource、FormData、URLSearchParams或者USVString对象,注意GET或HEAD方法的请求不能包含body信息。
    mode: 请求的模式,如cors、no-cors或者same-origin。
    credentials: 请求的credentials,如omit、same-origin或者include,为了在当前域名内自动发送cookie,必须提供这个选项。
    cache: 请求的cache模式: default、no-store、reload、no-cache、force-cache或者only-if-cached。
    redirect: 可用的redirect模式: follow自动重定向,error如果产生重定向将自动终止并且抛出一个错误,或者manual手动处理重定向。
    referrer: 一个USVString可以是no-referrer、client或一个URL,默认是 client。
    referrerPolicy: 指定了HTTP头部referer字段的值,可能为以下值之一: no-referrer、no-referrer-when-downgrade、origin、origin-when-cross-origin、unsafe-url。
    integrity: 包括请求的subresource integrity值,例如: sha256-BpfBw7ivV8q2jLiT13fxDYAe2tJllusRSZ273h2nFSE=。
    返回一个Promise,resolve时回传Response对象。
    
    fetch与jQuery.ajax区别#
    当接收到一个代表错误的HTTP状态码时,从fetch()返回的Promise不会被标记为 reject, 即使响应的HTTP状态码是404或500,其会将Promise状态标记为 resolve,但是返回的Promise会将resolve的返回值的ok属性设置为false,仅当网络故障时或请求被阻止时,才会标记为reject。
    fetch()不会接受跨域cookies,你也不能使用fetch()建立起跨域会话,其他域的Set-Cookie头部字段将会被无视。
    fetch()不会发送cookies,除非使用了credentials的初始化选项。
    

    相关文章

      网友评论

          本文标题:fetch

          本文链接:https://www.haomeiwen.com/subject/tegdvktx.html