相关文章推荐
3vti1qhhvcgxwespkody  ·  js ...·  1 周前    · 
开朗的眼镜  ·  DLA ...·  1 年前    · 
胆小的马克杯  ·  javascript - Jest ...·  1 年前    · 
坏坏的羽毛球  ·  6.3.1 ...·  1 年前    · 

1.fetch获取资源

会返回一个promise对象,所以可用then等方法。来进行后续处理,下面是鄙人的一个例子,a.txt文件,是当前目录下的一个文件

let url = './a.txt';
fetch(url).then(res => {
    res.text().then(data => {
        console.log(data);
    });

fetch获取资源后,返回一个promise对象,所以可用then等方法。(这里的res是请求的结果)。
我们将这个结果打印出来,看看都有些啥,嘿嘿嘿~~~
在这里插入图片描述
这个结果是个对象,包含了请求的状态,对于一次请求是否成功,即是否真的返回数据,我们用Response.ok来判断,看是否为真。

2.特别说明

  • 特别要注意:当http请求返回的状态码是非200时,返回的promise依然是resolve的状态。但是会将 resolve 的返回值的 ok 属性设置为 false 。因此,可以通过ok属性值,判断请求是否正常响应。
  • fetch只有在遇到网络错误或者请求被阻止的时侯,才会reject,并且抛出错误。

3.fetch请求返回的数据

返回的数据格式,是一个Response对象,并不是我们理想中的js对象,所以得转化一下。

return response.json();  // 将 response.body 通过 JSON.parse 转换为 JS 对象

注意:response.json()会返回一个Promise对象。所以,我们可以用.then()的方法进行后续处理,比如,处理转化以后的数据。(.json()方法的作用是将 response.body 通过 JSON.parse 转换为 JS 对象,同时,返回一个promise对象到外部

4.注意点

  • 默认情况下,fetch 不会从服务端发送或接收任何 cookies, 如果站点依赖于用户 session,则会导致未经认证的请求(要发送 cookies,必须设置 credentials 选项)。
fetch(url,{
	method: 'POST',
	credentials: 'include' //必须加上这个
  • fetch代表着更先进的技术方向,但是目前兼容性不是很好。因此,最好不要在项目使用。
1.基本使用 Fetch 是一个新的端获取资源的接口,用于替换笨重繁琐XMLHttpRequest.它有了Request 和 Response 以及Headers对象的概念,与后端语言请求资源更接近。 一个简单的GET请求 fetch('https://www.baidu.com') .then(resp=>resp.text()) // 转换成文本对象 .then(resp=>console.log(resp)) // 输出请求内容 .catch(error => console.error(error)); 一个简单的POST请求 fetch('https://www.e 一直以来在简单的场景中经常使用fetch代替第三方请求库, fetch是JavaScript的原生函数, 简单、高效、快速、稳定、可定制等等诸多优点。一直也是用着很是舒服,直到有一天它竟然报错了。官方:Fetch API提供了一个 JavaScript 接口,用于访问和操纵 HTTP 管道的一些具体部分,例如请求和响应。它还提供了一个全局 fetch()方法,该方法提供了一种简单,合理的方式来跨网络异步获取资源。fetch返回的是数据流, 最终是什么格式数据需要我们自己判断使用,... 1、Fetch的官方规范文档:https://fetch.spec.whatwg.org/ 2、Fetch API提供了一个 JavaScript 接口,优化了http请求和响应的操作方式。这种功能以前是使用XMLHttpRequest(ajax)实现的。它还提供了一个全局fetch()方法,该方法提供了一种简单,合理的方式来跨网络异步获取资源。 3、fetch最大的特点是与Promise对象的结合,Fetch API大多都返回一个Promise对象,使我们的编程风格... 概念和用法 fetch的核心在于对http接口的抽象,包括request,response,Headers,Body以及用于初始化异步请求的global fetch,除此之外还有一个特性:异步,基于promise Fetch 提供了对 Request 和 Response (以及其他与网络请求有关的)对象的通用定义. fetch() 必须接受一个参数—资源的路径。无论... 最近需要在一个脚本中加入拦截b站直播流的功能,但并没有找到相关文章或者脚本,所以写篇文章分享一下捣鼓出来的成果。 首先在脚本头部加入 // @run-at document-start // @grant unsafeWindow 把运行时间设置为document-start,确保能拦截到较早发出的请求。 unsafeWindow.fetch = (...arg) => { console.log('fetch arg', ...arg) 转载:前后端数据交互(四)——fetch 请求详解 - 前端人 - 博客园 fetch 是 XMLHttpRequest 的升级版,使用js脚本发出网络请求,但是与 XMLHttpRequest 不同的是,fetch 方式使用 Promise,相比 XMLHttpRequest 更加简洁。所以我们告别XMLHttpRequest,引入 fetch 如何使用? 一、fetch介绍 fetch() 是一个全局方法,提供一种简单,合理的方式跨网络获取资源。它的请求是基于 Promise 的,需要详细学习 P 在前后端分离项目中,前端请求后端接口得到后端数据,完成页面内容的渲染或功能状态的判断,已经成为常规操作。那么,关于前端如何请求后端接口获取并解析数据,主要有哪些方式呢: 1. 刷新页面:最直接但是最体验最差的一种方式 2. form表单:会触发页面跳转,无法实现页内重复请求 3. ifream:比较消耗性能,且控制成本过高 4. Ajax - 使用XMLHttpRequest对象进行异步请求,极大的提高了用户体验,实现了页内请求 5. Fetch - Ajax的替代者,浏览器内置方法,封装了Pro 接着我们调用Promise原型上的公有方法then(), then方法接收两个函数作为参数,第一个参数是 Promise 执行成功时的回调函数resolve,(resolve函数的参数就是Response 对象,所以要明白then方法中的res其实就是Response),第二个参数是 Promise 执行失败时的回调函数reject,两个函数只会有一个被调用。:fetch()发起请求以后,只有网络错误,或者无法连接时,fetch()才会报错,其他情况都认为请求成功。如果以后有需要补充的会继续回来写的。 fetch 是一种 HTTP 数据请求的方式,是 XMLHttpRequest 的一种替代方案。 fetch 不是 ajax 的进一步封装,没有使用 XMLHttpRequest对象。fetch 是原生 JavaScript。 fetch 与 ajax 的区别: fetch()返回的promise将不会拒绝http的错误状态,即使响应是一个HTTP 404或者500——当接收到一个代表错误的 HTTP 状态码时,从 fetch() 返回的 Promise 不会被标记为 reje 1.fetchFetch API提供的全局的函数,用于http管道上的操作例如请求和响应。 2.fetch是浏览器支持的,可以不需要依赖$.ajax()和axios等http库 二,fetch使用 1.fetch接受两个参数,第一个是请求的url,第二个是一个配置对象的option 2.最简单的使用方法,只需传url fecth(url).then(res=>return res) 三,fetch的option配置 1.fetch的第二个参数是一个option对象,通过一些字段的配置,可