你知道AJAX五种请求的区别吗?

395 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 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参数}

    })

💎注意:paramsget方法参数,data传post参数,不要错用,错用无效