参考:axios (get,post,delete,put,patch)用法
- GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的select操作一样,只是用来查询一下数据,不会修改、增加数据,不会影响资源的内容,即该请求不会产生副作用。无论进行多少次操作,结果都是一样的。
- 与GET不同的是,PUT请求是向服务器端发送数据的,从而改变信息,该请求就像数据库的update操作一样,用来修改数据的内容,但是不会增加数据的种类等,也就是说无论进行多少次PUT操作,其结果并没有不同。
- POST请求同PUT请求类似,都是向服务器端发送数据的,但是该请求会改变数据的种类等资源,就像数据库的insert操作一样,会创建新的内容。几乎目前所有的提交操作都是用POST请求的。
- DELETE请求顾名思义,就是用来删除某一个资源的,该请求就像数据库的delete操作。
- patch方法用来更新局部资源
就像前面所讲的一样,既然PUT和POST操作都是向服务器端发送数据的,那么两者有什么区别呢。
- POST主要作用在一个集合资源之上的(url)
- PUT主要作用在一个具体资源之上的(url/xxx),通俗一下讲就是,如URL可以在客户端确定,那么可使用PUT,否则用POST。
参考:axios方法封装 GET,POST,PUT,PATCH
import axios from 'axios'
/*
*post 请求方法
* @param url
* @param data
* @returns {Promise}
*/
export function post(url, data = {}) {
return new Promise((resolve, reject) => {
axios.post(url, data)
.then(response => {
resolve(response.data)
}).catch(err => {
reject(err)
})
})
}
/*
*get 请求方法
* @param url
* @param id
* @returns {Promise}
*/
this.$axios
.$delete(url(data.id))
.then(res => {
if (res.code == '0') {
return Promise.resolve()
} else {
return Promise.reject()
}
})
/*
*patch 请求方法
* @param url
* @param data
* @returns {Promise}
*/
export function patch(url, data = {}) {
return new Promise((resolve, reject) => {
axios.patch(url, data)
.then(response => {
resolve(response.data)
}).catch(err => {
reject(err)
})
})
}
/*
*put 请求方法
* @param url
* @param data
* @returns {Promise}
*/
export function put(url, data = {}) {
return new Promise((resolve, reject) => {
axios.put(url, data)
.then(response => {
resolve(response.data)
}).catch(err => {
reject(err)
})
})
}
/*
*delete 请求方法
* @param url
* @param id
* @returns {Promise}
*/
export function delete(url, data = {}) {
return new Promise((resolve, reject) => {
axios.delete(url, id)
.then(response => {
resolve(response.id)
}).catch(err => {
reject(err)
})
})
}