【前端】fetch和axios发送请求
axios和fetch向后端发送请求
前置知识:
URL地址格式:1.传统url地址 2.restful形式的url地址
1.传统url地址
前两项必写,后面看情况写
2.restful形式的url地址
它用的是 /123这种形式,与前一种不同,前一种是 ?id=123这种形式
前端怎么传url取决于后端的写法
1.fetch发送请求
注意fetch第一次.then得到的不是最终数据,需要 .text()或者.json()
然后再次.then得到的结果才是最终数据
(1)get请求
其中get传参有两种方式
方式一:传统
后端:
前端:
得到的结果:
方式二:restful形式
后端:
前端:
得到的结果:
(2)delete请求
方式一:传统
后端:
前端:
结果:
方式二:restful形式
后端:
前端:
结果:
(3)POST请求
前端发送post请求要写method,body,headers请求头(请求头必须写,否则body传不过去)
body有格式要求:键值对或者json格式
如果body是键值对形式
后端:
前端:
结果:
如果body是json格式的
请求头和body有变化
结果:
(4)PUT请求
restful形式的url
后端:
前端:
结果:
fetch响应结果
后端:
前端:
结果:
返回的是一个对象,如果用之前的.text(),返回来的就是字符串
2.axios发送请求
axios特性
axios常用API
(1)get
get传递参数有三种方式
方式一:传统
后端:
前端:
结果:
方式二:restful
后端:
前端:
结果:
方式三(与fetch不同):通过params:{}传递query数据
在axios.get(url,{ }) 在第二个参数的对象中加params:{ }
后端:
前端:
结果:
(2)delete
(3)post
传递的数据有2种,默认是json,还有一种是表单键值对形式
方式一:json
后端:
前端: app.post(url,参数二) 在参数二里传个对象{ }
结果:
可以在控制台看 前端传递的数据是json格式
方式二:表单键值对形式
new一个实例对象,把参数都加入到这个实例对象里
后端:
前端:
结果:
此时控制台可以看出 前端传递的是 键值对形式
(4)put
后端:
前端:
结果:
axios的响应结果
后端:
前端:
把res和res.data都打印出来看看
res是
res.data是
后端:如果后端返回来的是json格式的数据
前端:
结果:
后端res.json传回来的数据,前端直接得到json对象形式,可以直接res.data. xx的到属性值
axios全局配置
1.如果超过3s后台没响应,前端就认为后端响应错误
2.baseURL,发请求时候可以设置一个默认的请求地址,这样以后发请求只写后面的地址就可以了
3.设置请求头,比如在登录时候需要携带token。
前端添加到请求头里的token名字要和后端配置的名字一致
比如:后端这里叫myToken
前端这里就要叫myToken
更多推荐
所有评论(0)