vue中使用axios发送post请求
send3:function(){// 发送post请求要进行处理,因为发送方式和正常的表单提交不一样// axios.post(url,data,[options]);//axios默认发送数据时,数据格式是Request Payload,并非我们常用的Form Data格式,//所以参数必须要以键值对形式传递,不能以json形式传参//传参方式://1.自己拼接为键值对//
·
send3:function(){
// 发送post请求要进行处理,因为发送方式和正常的表单提交不一样
// axios.post(url,data,[options]);
// axios默认发送数据时,数据格式是Request Payload,并非我们常用的Form Data格式,
// 所以参数必须要以键值对形式传递,不能以json形式传参
// 传参方式:
// 1.自己拼接为键值对
// 2.使用transformRequest,在请求发送前将请求数据进行转换
// 3.如果使用模块化开发,可以使用qs模块进行转换
// axios本身并不支持发送跨域的请求,没有提供相应的API,作者也暂没计划在axios添加支持发送跨域请求,所以只能使用第三方库
// 方式一不行
axios.post("index.php",{
params:{
name:'jok',
age:'18'
}
}).then(function(resp){
console.log(resp);
}).catch(function(resp){
console.log(resp);
});
// 方式二,自己拼接键值对
axios.post("index.php","nam=jok&age=20")
.then(function(resp){
console.log(resp);
}).catch(function(resp){
console.log(resp);
});
//方式三
// 只能用在 'PUT', 'POST' 和 'PATCH' 这几个请求方法
axios.post('server.php',this.user,{
transformRequest:[
function(data){
let params='';
for(let index in data){
params+=index+'='+data[index]+'&';
}
return params;
}
]
})
.then(resp => {
console.log(resp.data);
}).catch(err => {
console.log('请求失败:'+err.status+','+err.statusText);
});
}
更多推荐
已为社区贡献2条内容
所有评论(0)