持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第28天,点击查看活动详情
前言
- 在练习项目的时候,我总是分不清为什么有的ajax请求要加params,有的就不需要
- 比如下图中的接口,方法是get,请求参数有headers,和query
- headers是请求头,已经在请求拦截器中加了
- 但是下面的query我就一直不明白是什么意思,为什么要加params
- 这里为什么要加params?,而有的就不需要
- 抱着这个疑问,我重新复习了下ajax
export function getEmployees(data) {
return request.get('sys/user', { params: data })
}
五种请求方式特点
- AJAX有五种请求方式,
- 分别是
- 1.post
- 2.get
- 3.delete
- 4.put
- 5.patch
| 请求方式 | 描述 | 特点 |
|---|---|---|
| post | 一般用于新增数据(提交数据) | 请求体传参 |
| get | 一般用于查询数据(查询数据) | 请求行(url)传参 |
| delete | 一般用于删除数据 | 请求体传参 |
| put | 一般用于更新全部数据 | 请求体传参 |
| patch | 一般用于更新局部数据 | 请求体传参 |
细节:ajax传参有两种方式:请求体传参+请求行传参
请求体(body、put、patch):
axios({
method:'请求方法',
url:'请求路径',
data:{post参数} })
axios.post('url', { 属性名:属性值 } ). then( res=> {} )
请求行(query):
axios({
method:'请求方法',
url:'请求路径',
params:{get参数} })
axios.get('url , {params:{ 属性名:属性值 }}). then(res=>{})
请求体/行:delete(需要具体测试)
put和pacth区别
全局更新 : put
局部更新: patch
get和post区别:
🏆get与post区别(掌握)
- 1.传参方式不同
- get在url后面拼接(请求行)
- post在请求体传参
get请求: axios.get('url , {params:{ 属性名:属性值 }}). then(res=>{})
post请求: axios.post('url', { 属性名:属性值 } ). then( res=> {} )
- 2.大小限制不同
- get有大小限制,不同浏览器大小限制不同。 一般2-5 MB
- post没有大小限制
- 3.安全性不同
- get参数直接暴露在url,不安全(一般查询类数据都是get)
- post参数在请求体中,更加安全(一般登录注册必须是post)
- 4.传输速度不同
- get传输速度快
- post传输速度慢
axios使用
💎推荐语法:
axios({
method:'请求方法',
url:'请求路径',
params:{get参数},
data:{post参数}
})
💎注意:params传get方法参数,data传post参数,不要错用,错用无效