前后端交互三(Fetct基本用法——Request 对象,Headers 对象,Response对象,text(),json();Fetch 与 XMLHttpRequest 的差异)

84 篇文章 3 订阅
7 篇文章 1 订阅

目录

1.fetch()的基本用法

2.fetch(url,options)的参数解析

2.1第一个参数是请求的url

2.2第二个参数 options对象常用配置

3.Fetch的Headers对象

4.Fetch的Response对象

4.1Response.clone()

4.2Response.json()

4.3Response.text()

5.Fetch 与 XMLHttpRequest 的差异


1.fetch()的基本用法

fetch("/test").then(res=>{
            return res.json();
        }).then(res=>{
            console.log(res);
        }).catch(err=>{
            console.log(err);
        })

2.fetch(url,options)的参数解析

2.1第一个参数是请求的url

第一个参数是请求的url

2.2第二个参数 options对象常用配置

第二个参数 options对象常用配置:

method: 请求使用的方法,如 GET、POST。

headers: 请求的头信息,形式为 Headers 的对象或包含 ByteString 值的对象字面量。

body: 请求的 body 信息:可能是一个 BlobBufferSourceFormDataURLSearchParams 或者 USVString 对象。注意 GET 或 HEAD 方法的请求不能包含 body 信息。

mode: 请求的模式,如 cors、 no-cors 或者 same-origin。

  • same-origin表示必须同源,绝对禁止跨域,这个是老版本浏览器默认的安全策略。
  • no-cors这个就很特殊了,字面意思是禁止以CORS的形式跨域,其实它的效果是,对外域的请求可以发送,外域服务器无论设不设Access-Control-Allow-Origin: *都会接收请求并处理请求,但是浏览器不接收响应,即使外域返回了内容,浏览器也当做没接到

3.Fetch的Headers对象

你可以通过 Headers() 构造函数来创建一个你自己的 headers 对象。

var myHeaders = new Headers();
myHeaders.append("Content-Type", "text/plain");
myHeaders.append("Content-Length", content.length.toString());
myHeaders.append("X-Custom-Header", "ProcessThisImmediately")
myHeaders = new Headers({
  "Content-Type": "text/plain",
  "Content-Length": content.length.toString(),
  "X-Custom-Header": "ProcessThisImmediately",
});

 

4.Fetch的Response对象

4.1Response.clone()

创建一个Response对象的克隆

4.2Response.json()

读取 Response对象并且将它设置为已读(因为Responses对象被设置为了 stream 的方式,所以它们只能被读取一次) ,并返回一个被解析为JSON格式的promise对象

4.3Response.text()

读取 Response对象并且将它设置为已读(因为Responses对象被设置为了 stream 的方式,所以它们只能被读取一次) ,并返回一个被解析为USVString格式的promise对象

5.Fetch 与 XMLHttpRequest 的差异

  • fetch不能监控进度
  • fetch兼容性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值