🔍

axiox 发送 get 和 post 请求的区别

axios get 请求

对于 get 请求来说,很多时候我们需要传递 query。

代码示例

this.$http.get('/users', {
  params: {
    "role": "admin",
    "is_active": true,
  }
}).then(response => {
  //
})

query 编码

传递的参数会被编码拼接到 url 后面。

axios post 请求

对于 post 请求,通常来说,将请求头设置为 multipart/form-data 或者 application/json 都是可以的,示例:

multipart/form-data

代码示例

let formData = new FormData()
formData.append('email', 'admin@admin.com');
formData.append('password', '123456789');
this.$http.post('/login', formData).then(response => {
  //
})

request header

axios 会自动在请求头的 Content-Type 中添加 multipart/form-data

request payload

application/json

代码示例

let data = {
  "email": "admin@admin.com",
  "password": "123456789",
}
this.$http.post('/login', data).then(response => {
  //
})

request header

同样,axios 会自动在请求头的 Content-Type 中添加 application/json

request payload

二者的区别

如果只是提交简单的一位数组,二者的差别其实不是很大,用哪个都可以,通常来说,使用 application/json 格式居多。但是如果要提交复杂的数据,则 application/json 要方便的多。