axios实现RESTful请求规范

简介: GET:获取数据后端将参数当做url 参数 接收 this.axios.get('/url/user', { params: { "name": "kevin", "password": "123456" } }) .
  • 一般格式

axios.get(url[, config])
axios.delete(url[, config])
axios.post(url[, data[, config]])
axios.put(url[, data[, config]])
axios.patch(url[, data[, config]])
get和delete的格式类似,post、put、patch格式类似

  • GET:获取数据
    后端将参数当做url 参数 接收
this.axios.get('/url/user', {
    params: {
        "name": "kevin",
        "password": "123456"
    }
})
 .then((response)=> {
    console.log(response)
})
.catch((error)=> {
    console.log(error);
});

后端用query接收参数,URL格式:"/url/user?name=kevin&password=123456"

  • POST:新增数据
    使用post方法时header['content-type']默认为application/json
this.axios.post('/url/add', {
          "username": this.userinfo.username,
          "password": this.userinfo.password
    })
    .then((response) => {
        console.log(response);
    })
    .catch((error) => {
        console.log(error);
    });

后端接收用JSON接收参数,URL不会体现变化

如果修改为application/x-www-form-urlencoded,那么需要引入qs.stringify序列化

this.axios.post('url/add', this.qs.stringify({
          "username": this.userinfo.username,
          "password": this.userinfo.password
        }), {
        headers: {
            'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'
        }
    })
    .then((response) => {
        console.log(response);
    })
    .catch((error) => {
        console.log(error);
    });

后端使用FORM接收参数

  • PUT:更新数据
    PUT和POST类似
this.axios.put('/url/update', {
    "userId": this.userinfo.Id,
    "userName": this.userinfo.username
})
.then((response)=> {
    console.log(response)    
})
.catch((error)=> {
    console.log(error);
});

后端接收方式也类似

  • DELETE:删除数据
    使用delete方法时,由于数据包中没有默认的header['content-type']=application/json,此时数据向后端传输时,需要做一层data封装.
this.axios.delete('/url/delete', { 
    data: { username : "admin" , password : "123" } 
})
.then((response)=> {
    console.log(response)                   
})
.catch((error)=> {
    console.log(error);
});

后端接收用JSON接收参数
或者后端将参数当做url 参数 接收

this.axios.delete('/url/delete', { 
    params: { username : "admin" , password : "123" } 
})
.then((response)=> {
    console.log(response)                   
})
.catch((error)=> {
    console.log(error);
});

后端用query接收参数, URL格式:"/url/delete?name=admin&password=123"
或者后端将参数当做url 参数 接收

this.axios.delete('/url/delete/' + id)
.then((response)=> {
    console.log(response)                   
})
.catch((error)=> {
    console.log(error);
});

后端用param接收参数, URL格式:"/url/delete/id"

目录
相关文章
|
2月前
|
JSON 前端开发 JavaScript
axios请求成功而$.ajax却不行排错
axios请求成功而$.ajax却不行排错
22 2
|
2月前
|
前端开发 API
Axios请求成功和失败时分别执行哪个函数?
Axios请求成功和失败时分别执行哪个函数?
45 1
|
2月前
|
JSON 数据格式
使用axios发送get和post请求
使用axios发送get和post请求
43 0
|
2月前
|
XML JSON 数据格式
【第20期】一文读懂Restful接口规范
【第20期】一文读懂Restful接口规范
763 0
|
26天前
|
API
使用axios发送请求的格式是什么?示例代码
使用axios发送请求的格式是什么?示例代码
15 0
|
2天前
|
前端开发 开发工具 数据安全/隐私保护
大事件项目13----axios请求拦截器,统一携带token
大事件项目13----axios请求拦截器,统一携带token
|
26天前
|
JSON JavaScript 前端开发
axios的post请求,数据为什么要用qs处理?什么时候不用?
axios的post请求,数据为什么要用qs处理?什么时候不用?
17 0
|
2月前
|
前端开发 JavaScript 数据格式
vue3中axios添加请求和响应的拦截器
vue3中axios添加请求和响应的拦截器
25 1
|
2月前
|
存储 算法 JavaScript
< 今日小技巧:Axios封装,接口请求增加防抖功能 >
今天这篇文章,主要是讲述对axios封装的请求,由于部分请求可能存在延时的情况。使得接口可能存在会被持续点击(即:接口未响应的时间内,被持续请求),导致重复请求的问题,容易降低前后端服务的性能!故提出给axios封装的配置里面,新增一个防抖函数,用来限制全局请求的防抖。
< 今日小技巧:Axios封装,接口请求增加防抖功能 >
|
2月前
|
JavaScript
axios拦截器:每次请求自动带上 token
axios拦截器:每次请求自动带上 token
21 0