广告
返回顶部
首页 > 资讯 > 前端开发 > node.js >html5中fetch方法怎么用
  • 511
分享到

html5中fetch方法怎么用

2024-04-02 19:04:59 511人浏览 独家记忆
摘要

这篇文章主要为大家展示了“HTML5中fetch方法怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“html5中fetch方法怎么用”这篇文章吧。Fetch

这篇文章主要为大家展示了“HTML5中fetch方法怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“html5中fetch方法怎么用”这篇文章吧。

Fetch概念

fetch身为H5中的一个新对象,他的诞生,是为了取代ajax的存在而出现,主要目的仅仅只是为了结合ServiceWorkers,来达到以下优化

  1. 优化离线体验

  2. 保持可扩展性

当然如果ServiceWorkers和浏览器端的数据库IndexedDB配合,那么恭喜你,每一个浏览器都可以成为一个代理服务器一样的存在。(然而我并不认为这样是好事,这样会使得前端越来越重,走以前c/s架构的老路)

1. 前言

既然是h6的新方法,肯定就有一些比较older的浏览器不支持了,对于那些不支持此方法的

浏览器就需要额外的添加一个polyfill:

[链接]: https://GitHub.com/fis-components/whatwg-fetch

2. 用法

ferch(抓取) :

HTML:

fetch('/users.html') //这里返回的是一个Promise对象,不支持的浏览器需要相应的ployfill或通过babel等转码器转码后在执行
    .then(function(response) {
    return response.text()})
    .then(function(body) {
    document.body.innerHTML = body
})

JSON

fetch('/users.json')
    .then(function(response) {
    return response.json()})
    .then(function(json) {
    console.log('parsed json', json)})
    .catch(function(ex) {
    console.log('parsing failed', ex)
})

Response metadata :

fetch('/users.json').then(function(response) {
  console.log(response.headers.get('Content-Type'))
  console.log(response.headers.get('Date'))
  console.log(response.status)
  console.log(response.statusText)
})

Post fORM:

var form = document.querySelector('form')

fetch('/users', {
  method: 'POST',
  body: new FormData(form)
})

Post JSON:

fetch('/users', {
  method: 'POST',
  headers: {
    'Accept': 'application/json',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({  //这里是post请求的请求体
    name: 'Hubot',
    login: 'hubot',
  })
})

File upload:

var input = document.querySelector('input[type="file"]')

var data = new FormData()
data.append('file', input.files[0]) //这里获取选择的文件内容
data.append('user', 'hubot')

fetch('/avatars', {
  method: 'POST',
  body: data
})

3. 注意事项

(1)和ajax的不同点:

1. fatch方法抓取数据时不会抛出错误即使是404或500错误,除非是网络错误或者请求过程中被打断.但当然有解决方法啦,下面是demonstration:

function checkStatus(response) {
  if (response.status >= 200 && response.status < 300) { //判断响应的状态码是否正常
    return response //正常返回原响应对象
  } else {
    var error = new Error(response.statusText) //不正常则抛出一个响应错误状态信息
    error.response = response
    throw error
  }
}

function parseJSON(response) {
  return response.json()
}

fetch('/users')
  .then(checkStatus)
  .then(parseJSON)
  .then(function(data) {
    console.log('request succeeded with JSON response', data)
  }).catch(function(error) {
    console.log('request failed', error)
  })

2.一个很关键的问题,fetch方法不会发送cookie,这对于需要保持客户端和服务器端常连接就很致命了,因为服务器端需要通过cookie来识别某一个session来达到保持会话状态.要想发送cookie需要修改一下信息:

fetch('/users', {
  credentials: 'same-origin'  //同域下发送cookie
})
fetch('Https://segmentfault.com', {
  credentials: 'include'     //跨域下发送cookie
})

下图是跨域访问segment的结果

html5中fetch方法怎么用

Additional

如果不出意外的话,请求的url和响应的url是相同的,但是如果像redirect这种操作的话response.url可能就会不一样.在XHR时,redirect后的response.url可能就不太准确了,需要设置下:response.headers['X-Request-URL'] = request.url适用于( Firefox < 32, Chrome < 37, Safari, or IE.)

以上是“html5中fetch方法怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网node.js频道!

--结束END--

本文标题: html5中fetch方法怎么用

本文链接: https://www.lsjlt.com/news/77669.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • html5中fetch方法怎么用
    这篇文章主要为大家展示了“html5中fetch方法怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“html5中fetch方法怎么用”这篇文章吧。Fetch...
    99+
    2022-10-19
  • thinkphp fetch方法怎么用
    本文小编为大家详细介绍“thinkphp fetch方法怎么用”,内容详细,步骤清晰,细节处理妥当,希望这篇“thinkphp fetch方法怎么用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。首先,fetch方...
    99+
    2023-07-05
  • thinkphp中的fetch方法如何用
    这篇文章主要介绍“thinkphp中的fetch方法如何用”,在日常操作中,相信很多人在thinkphp中的fetch方法如何用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”thinkphp中的fetch方法...
    99+
    2023-06-30
  • oracle中fetch怎么用
    这篇文章将为大家详细讲解有关oracle中fetch怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 oracle中,fetch用于限制查...
    99+
    2022-10-19
  • es6中的fetch怎么用
    本篇内容主要讲解“es6中的fetch怎么用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“es6中的fetch怎么用”吧! es6中...
    99+
    2022-10-19
  • php中fetch怎么使用
    本篇内容介绍了“php中fetch怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!php中fetch指的是查询数据的fetch方法,p...
    99+
    2023-06-21
  • Fetch怎么使用
    这篇文章主要介绍了Fetch怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Fetch怎么使用文章都会有所收获,下面我们一起来看看吧。fetch号称是AJAX的替代品,是在ES6出现的,使用了ES6中的p...
    99+
    2023-06-28
  • JavaScript使用Fetch的方法详解
    目录进行 fetch 请求支持的请求参数发送带凭据的请求上传 JSON 数据上传文件上传多个文件检测请求是否成功自定义请求对象HeadersGuardResponse 对象Body特...
    99+
    2022-11-13
  • fetch在php中怎么使用
    今天小编给大家分享一下fetch在php中怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。用法:1、“mysql_fe...
    99+
    2023-06-30
  • JavaScript中fetch()用法实例
    目录fetch 基本使用Response 对象1、同步属性2、判断请求3、操作标头4、读取内容5、创建副本6、底层接口定制 HTTP 请求取消 fetch 请求总结fetch 基本使...
    99+
    2022-11-13
  • html5中canvas方法怎么使用
    这篇文章主要介绍“html5中canvas方法怎么使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“html5中canvas方法怎么使用”文章能帮助大家解决问题。 ...
    99+
    2022-10-19
  • fetch在php中的用法是什么
    本文操作环境:Windows10系统、PHP7.1版、Dell G3电脑fetch在php中的用法是什么php查询数据的fetch用法和区别,总结如下:mysql_fetch_row;mysql_fetch_row() 函数从结果集中取得一...
    99+
    2014-06-02
    php
  • JS中fetch()用法实例详解
    目录了解fetch没有fetch时我们获取异步资源的方式:使用fetch后我们获取异步资源的方式fetch的语法fetch的Response对象1.同步属性2.判断请求是否成功发出3...
    99+
    2022-11-13
  • PHP中的PDO::fetch()方法的示例分析
    这篇文章主要介绍了PHP中的PDO::fetch()方法的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。PHP中经常需要对数据库中的数据进行查询,PDO是现下较为主流...
    99+
    2023-06-14
  • 怎么使用Fetch在JavaScript中进行AJAX调用
    这篇文章主要介绍怎么使用Fetch在JavaScript中进行AJAX调用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在本系列中,我将定期分享有关JavaScript的小知识。我们...
    99+
    2022-10-19
  • oracle fetch into语句怎么使用
    FETCH INTO语句用于从游标中获取数据,并将其存储在指定的变量中。下面是FETCH INTO语句的使用方法:1. 首先,声明一...
    99+
    2023-10-18
    oracle
  • HTML5的Convas APIs方法怎么使用
    这篇文章主要介绍了HTML5的Convas APIs方法怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇HTML5的Convas APIs方法怎么使用文章都会有所收获,下...
    99+
    2022-10-19
  • 在html5中怎样使用js的方法
    这篇文章主要介绍在html5中怎样使用js的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!   在html5中使用js的两种方法:   使用<script>标签的...
    99+
    2022-10-19
  • ajax、axios与fetch怎么调用后台api
    使用Ajax调用后台API: $.ajax({ url: "your-api-url", type: "GET/POST/P...
    99+
    2023-10-21
    ajax axios fetch
  • HTML5 中drawImage()方法如何使用
    这期内容当中小编将会给大家带来有关HTML5 中drawImage()方法如何使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。drawImage()是一个很关键的方法,...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作