JavaScript fetch是一种新的用于从服务器获取资源的方式,它支持 Promise,并内置了 json() 函数用于解析返回的 JSON 数据。同时它的 API 具有清晰、简洁的语法,并解决了跨域问题,是我们日常工作中经常使用的工具。本文将详细讲述 JavaScript fetch
JavaScript fetch接口案例解析
简介
JavaScript fetch是一种新的用于从服务器获取资源的方式,它支持 Promise,并内置了 json() 函数用于解析返回的 JSON 数据。同时它的 API 具有清晰、简洁的语法,并解决了跨域问题,是我们日常工作中经常使用的工具。本文将详细讲述 JavaScript fetch 的使用方法以及在实际开发中的应用。
发送 GET 请求
发送 GET 请求的语法如下:
fetch(url, init);
其中 url 是请求的地址,init 是配置选项,如下:
- method: 请求方法,默认为 GET
- headers: 请求头部信息
- mode: 请求的模式(cors, no-cors, same-origin),默认为 cors
- cache: 缓存模式(default, no-store, reload, no-cache, force-cache, only-if-cached)
- credentials: 是否允许携带 cookie(omit, same-origin, include),默认为 same-origin
- redirect: 如何处理重定向(follow, error, manual),默认为 follow
- referrer: 引用页头部信息(只有在需要该信息的时候才会被发送)
- referrerPolicy: 引用页验证策略(no-referrer, no-referrer-when-downgrade, origin, origin-when-cross-origin, unsafe-url)
- integrity: 完整性校验
示例代码如下:
fetch('https://jsonplaceholder.typicode.com/todos/1')
.then(response => response.json())
.then(json => console.log(json))
.catch(error => console.error(error));
这个例子演示了如何向服务器请求 JSON 数据并展示在控制台里。通常我们会把 JSON 数据用于更新界面上的内容。
发送 POST 请求
发送 POST 请求和 GET 请求的语法很相似,只是需要在配置选项中加入 body 参数。例如,我们向指定目录里添加文件,需要传递文件名和内容信息,那么请求代码如下:
fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify({
fileName: 'file1.txt',
content: 'This is a file content.'
})
})
.then(response => response.json())
.then(json => console.log(json))
.catch(error => console.error(error));
这个例子演示了如何向服务器发送 POST 请求并且发送 JSON 数据。这只是一个模拟例子,实际上通常发送 JSON 数据时会使用一个表单或者普通的对象。
总结
JavaScript fetch 接口可以从服务器获取资源,并解决了跨域问题。GET 请求用于获取数据,POST 请求用于创建数据。上述代码可以实现向服务器请求资源和发送数据,适用于开发 Web 应用程序和移动应用程序。
本文标题为:JavaScript fetch接口案例解析
基础教程推荐
- Bootstrap导航条可点击和鼠标悬停显示下拉菜单 2024-01-22
- 原生js实现简单轮播图 2023-12-23
- 使用HTML5推送状态URL为单页网站配置nginx 2023-10-25
- 解决页面整体使用transform scale后高德地图点位点击偏移错位问题 2024-01-24
- JavaScript中捕获/阻止捕获、冒泡/阻止冒泡方法 2024-01-04
- CSS属性探秘系列(七):z-index 2023-12-21
- 使用Ajax模仿百度搜索框的自动提示功能实例 2023-02-23
- Ajax上传图片及上传前先预览功能实例代码 2023-02-14
- javascript实现限制上传文件大小 2024-01-04
- [前端、HTTP协议、HTML标签] 2023-10-28