axios get | post传参方法整理_axios post传参_白瑕的博客-****博客
axios post params(post像get一样使用params传参)_axios.post() 的params传参_潇蓝诺依的博客-****博客
Axios post 传参的params 与data 的两种形式(根据java后台接口来选择)_axios post params_bug收集的博客-****博客
axios介绍
axios是基于Promise的,因此可以使用Promise API
axios的请求方式:
axios(config)
(config)
(url [,config])
(url [,data [,config]])
(url [,data [,config]])
(url [,config])
(url [,data [,config]])
(url [,config])
//头部设置了 application/x-www-form-urlencoded 这个的
['Content-Type'] = 'application/x-www-form-urlencoded';
//传参里面需要
//需要qs转
export function shopPassExamine(info) {
const data = (info)
return request({
url:'/shop/passExamine',
method:'post',
data: data
})
}
//直接传:
['Content-Type'] = 'application/json';
// 待确认线索视频截取
export function videoSplitJiaoFu (info) {
const data = info;
return request({
url: '/api/pa-service-live/live/clue/confirm/videoSplit',
headers: { systemRoute: systemRoute,
'Content-Type':'application/json'
},
method: 'post',
data
});
}
前言
默认params是添加到url的请求字符串中的,一般用于get请求,delete请求方式跟get类似
接口形式是/create?name=***&age=****
get请求没有data方式!!!
默认data是添加到请求体(body)中的, 一般用于post请求。
上面只是一般情况,其实,post请求也可以使用params方式传值(像上面的接口形式) ,
但是get请求没有data方式
本文就来介绍一下post的两种传值方式↓
Axios 中posts的params与data的两种传参
第一种:data方式 后端接受body-json形式
this.$axios({
url: '/api/user/login' ,
method: 'post',
headers: {
'Content-Type': 'application/json'
},
data:{
username: ,
pwd:
}
}).then((res) => {
(res)
})
第二种:params方式 接口形式是/create?name=***&age=**** 参数为url拼接形式
this.$axios({
url: '/api/user/login' ,
method: 'post',
headers: {
'Content-Type': 'application/json'
},
params:{
username: ,
pwd:
}
}).then((res) => {
(res)
})
注:直接使用post方法,传递的参数为 data 的方式 代码如下↓
(url [,data [,config]])
this.$('/api/user/login',{username: , pwd: }),
{
headers: {
'Content-Type': 'application/json'
}
}).then((res) => {
(res)
一、GET
后端接收query
前端传params.
前端:
axios({
method: "get",
url: "http://localhost:3000/getArticleById",
params: {
article_id: 8,
},
}).then((res) => {
(res);
});
二、POST
1.后端接收body - json
前端传data.
前端:
axios({
method: "post",
url: "http://localhost:3000/getArticleById",
data: {
article_id: 8,
},
}).then((res) => {
(res);
});
/*
等同于
("http://localhost:3000/getArticleById", {
article_id: 8
}).then()
*/
2.后端接收query 接口形式是/create?name=***&age=****
,但是是一个post
请求,我只见过get
的这种请求
前端传params.
前端:
axios({
method: "post",
url: "http://localhost:3000/getArticleById",
params: {
article_id: 8,
},
}).then((res) => {
(res);
});
发表的axios签名是(url[, data[, config]])。所以你想在第三个参数中发送params
.post(`/create`, null, { params: {
name:name,
age:age
}})
.then(response => )
.catch(err => (err));
post携带form-data参数
import axios from 'axios';
// 创建一个FormData对象
const formData = new FormData();
('name', 'John Doe');
('age', 30);
// 使用FormData对象发送POST请求
('/api/user', formData)
.then(function (response) {
(response);
})
.catch(function (error) {
(error);
});
其他:
import qs from 'qs';
(url,qs .stringify({jobNumber: '430525', password: '123'}),
{headers: {'Content-Type':'application/x-www-form-urlencoded'}}
);
Config配置选项
{
//服务器的地址,是必须的选项
url: '/user',
//请求的方式,若没有则默认是get
method:'get',
//如果url不是绝对地址,则会加上baseURL
baseURL: 'http://localhost:3000/',
//transformRequest允许请求的数据在发送至服务器之前进行处理,这个属性只适用于put、post、patch方式
//数组的最后一个函数必须返回一个字符串或者一个'ArrayBuffer'或'Stream'或'Buffer' 实例或'ArrayBuffer','Formdata',
//若函数中用到了headers,则需要设置headers属性
transformRequest: [function(data,headers){
//根据需求对数据进行处理
return data;
}],
//transformResponse允许对返回的数据传入then/catch之前进行处理
transformResponse:[function(data){
//依需要对数据进行处理
return data;
}],
//headers是自定义的要被发送的信息头
headers: {'X-Requested-with':'XMLHttpRequest'},
//params是请求连接中的请求参数,必须是一个纯对象
params:{
ID:12345
},
//paramsSerializer用于序列化参数
paramsSerializer: function(params){
return (params,{arrayFormat:'brackets'});
},
//data是请求时作为请求体的数据——
//只适用于put、post、patch请求方法
//浏览器:FormData,File,Blob;Node:stream
data:{
firstName: 'simon',
},
//timeout定义请求的时间,单位是毫秒,如果请求时间超过设定时间,请求将停止
timeout:1000,
//withCredentials表明跨跨域请求书否需要证明。
withCredentials:false, //默认值
//adapter适配器,允许自定义处理请求
//返回一个promise
adapter:function(config){
/*...*/
},
//auth表明HTTP基础的认证应该被使用,并提供证书
auth:{
username:'simon',
password:'123456',
},
//responseType表明服务器返回的数据类型,这些类型包括:json/blob/document/ arraybuffer/text/stream
responseType: 'json',
//proxy定义服务器的主机名和端口号
//auth属性表明HTTP基本认证应该跟proxy相连接,并提供证书
//这将设置一个'Proxy-Authorization'头(header),覆盖原来自定义的
proxy:{
host:127.0.0.1,
port:8080,
auth:{
username:'simon',
password:'123456'
}
},
//取消请求
cancelToken: new CancelToken(cancel=>{})
}