Fetch请求的方式

1:GET 请求

// 未传参数
const getData = async () => {
const res = await fetch('http://www.xxx.com/data')
const json = await res.json()
console.log(json) api:
json.ok
} // 拼接传参
const getData = async () => {
const res = await fetch('http://www.xxx.com/data?id=1&name=jack')
const json = await res.json()
console.log(json)
} getData()

拼接小技巧

  const host = 'http://www.baidu.com'
const json = {name:'longs',age:18,sex:'男',phone:'13800000000'}
const str = new URLSearchParams(json).toString()
const url += '?' + str
console.log(url) 输出:"http://www.baidu.com?name=longs&age=18&sex=%E7%94%B7&phone=13800000000"

2: POST 请求

// 未传请求参数
const getData = async () => {
const res = await fetch('http://www.xxx.com/data',{
method:'post',
headers:{
'Content-Type':'applocation/json', // 这里有多种类型
}
})
const json = await res.json()
console.log(json)
} // 传入请求参数
const getData = async () => {
const res = await fetch('http://www.xxx.com/data,{
method:'post',
headers:{
'Content-Type':'applocation/json', // 这里有多种类型
'Authorization':localStorage.getItem('token') // 加入token认证 如:'bearer 0d5624ed-b6ed-4ab4-ba46-a6161f0a80bd'
},
// body:请求体,传给请求体的内容切记转成(String)字符串
body:JSON.stringify({name:'jack',phone:'13800138000',address:'灯火阑珊处'})
})
const json = await res.json()
console.log(json)
} getData()

3: POST 上传文件

const upload = async () => {
const files = ['blob:xxxxx','blob:xxxxxx'] // 数组里面是获取到的二进制文件
const formData = new formData()
const fileArr = []
files.map((item)=> {
fileArr.push(item)
})
formData.append('file',fileArr) //多文件
formData.append('data',JSON.stringify({name:'jack',phone:'13800138000',address:'灯火阑珊处'})) // 额外参数 const res = await fetch('http://www.xxx.com/data,{
method:'post',
headers:{
'Content-Type':'multipart/form-data', // 这里有多种类型
'Authorization':localStorage.getItem('token') // 加入token认证 如:'bearer 0d5624ed-b6ed-4ab4-ba46-a6161f0a80bd'
},
// body:请求体,传给请求体的内容切记转成(String)字符串
body:formData
}) const json = await res.json()
console.log(json)
}

fetch请求方式的更多相关文章

  1. fetch请求get方式以及post提交参数为formdata类型的数据

    1.请求方式post,请求函数参数 _requestData(callback,_cityDt){ const switchIp = "http://192.168.43.103/api/p ...

  2. dva框架使用mock.js模拟数据 + fetch请求数据

    what DVA? Dva是基于Redux做了一层封装,对于React的state管理,有很多方案,我选择了轻量.简单的Dva. dva 可以很方便就使用mock.js进行数据的模拟. 只需要三步,即 ...

  3. React Native 网络请求封装:使用Promise封装fetch请求

    最近公司使用React作为前端框架,使用了异步请求访问,这里做下总结: React Native中虽然也内置了XMLHttpRequest 网络请求API(也就是俗称的ajax),但XMLHttpRe ...

  4. vue中fetch请求

    1. 请求方式:get 请求参数:menuName 返回的结果:data created(){ this._initPageData() }, methods:{ _initPageData(){ f ...

  5. node后台fetch请求数据-Hostname/IP doesn't match certificate's altnames解决方法

    一.问题背景 基于express框架,node后台fetch请求数据,报错Hostname/IP doesn't match certificate's altnames..... require(' ...

  6. 前后端数据交互(四)——fetch 请求详解

    fetch 是 XMLHttpRequest 的升级版,使用js脚本发出网络请求,但是与 XMLHttpRequest 不同的是,fetch 方式使用 Promise,相比 XMLHttpReques ...

  7. 限制action所接受的请求方式或请求参数

    原文:http://www.cnblogs.com/liukemng/p/3726897.html 2.限制action所接受的请求方式(get或post): 之前我们在HelloWorldContr ...

  8. Android——JDK的get请求方式

    layout文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:an ...

  9. 第二节(RequestMapping请求方式)学习尚硅谷-springmvc视频教程

    项目中,创建测试类SpringMVCTest @Controller @RequestMapping("/springmvc1") public class SpringMVCTe ...

  10. jQuery中ajax的4种常用请求方式

    jQuery中ajax的4种常用请求方式: 1.$.ajax()返回其创建的 XMLHttpRequest 对象. $.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数 ...

随机推荐

  1. vuex记录

    vuex就是vue中管理状态的地方,控制着组件之间的数据: 5大核心,通常只要有state和mutation就能满足vuex最基本的需求 1.state 项目存放各种状态的地方 2.mutation ...

  2. Dilated Neighborhood Attention Transformer概述

    0.前言 相关资料: arxiv github 论文解读 论文基本信息: 发表时间:arxiv2022(2022.9.29) 1.针对的问题 之前的方法通过局部注意力机制来降低计算复杂度,但这削弱了自 ...

  3. D2-Net: Weakly-Supervised Action Localization via Discriminative Embeddings and Denoised Activations概述

    1.针对的问题 目前大多数弱监督动作定位方法通常依赖于分离前景和背景区域(前-背景分离)学习TCAMs,但是在弱监督设置下,学习到的TCAM会存在噪声,而这些方法并没有明确地处理其噪声输出. 2.主要 ...

  4. ModuleNotFoundError: No module named 'numpy.testing.nosetester'解决方法

    在import numpy的时候编译器提示这个问题. 问题的原因是numpy版本>1.18,而scipy的版本<=0.19 解决方案: 卸载当前版本scipy(0.19),安装更高版本sc ...

  5. ant Vue select 多条数据重复的问题

    1.问题描述:select实现下拉的功能,并且带前端搜索,但是后端给的数据没去重,对象中所有的参数值有保持一致,试了下,发现只要key值和value值不一致就不会报错: 2.解决:key值用index ...

  6. Vue CLI创建Vue2项目

    1.安装Node.js * Node.js中包含了npm工具 安装后查看版本: node -v npm -v 2.设置npm的源为国内源 npm config set registry https:/ ...

  7. idea提交时忽略.class、.iml文件和文件夹或目录的方法

    第一种方法 在Setings–> Editor --> File Types -->Ignore files and folders中添加需要忽略的文件和文件夹: .idea 忽略 ...

  8. centos/redhat 多路径存储使用 - 客户端

    DM Multipath(DMMP)工具 磁盘扫描 添加磁盘到dg--首先通知存储管理员划分相应的盘到指定的机器,说明共享--扫描磁盘(两个节点执行)[root@testrac1 ~]# echo & ...

  9. cell批量改名字

    本帖最后由 wanchengchen 于 2021-7-19 10:41 编辑下面是在论坛上学习到的脚本,发上来大家一起学习,使用的是virtuoso6.1.7:layout改名字:procedure ...

  10. Kubernetes--部署Ingress控制器(Nginx)

    Ingress控制器自身是运行于Pod中的容器应用,一般是Nginx或Envoy一类的具有代理及负载均衡功能的守护进程,它监视着来自于API Server的Ingress对象状态,并以其规则生成相应的 ...