手册版本 V6.0
POST 请求
函数参数 : post : function(url, sets, isSign, withLoginToken){}
url : api 地址 ( 在 config.js 中配置基础 url 后此处省略基础部分)
sets : 以对象形式设置 data,timeout,dataType,header 信息,默认已经完成基础设置,不设置此参数传递 {} 即可;
对象键名称对应 uni-app 官方手册 :
https://uniapp.dcloud.io/api/request/request
对象属性对应值可以是任何格式,与官方格式一致即可;
isSign : 是否启用签名机制,默认值 false;
withLoginToken : 是否自动带入用户登录 token 数据;
相关说明
post 方式默认的 header 设置是 :
sets.header['content-type'] = 'application/x-www-form-urlencoded';
请根据实际需求修改,两种方式 :
01. 修改 graceRequestConfig.js
postHeaderDefault : 'application/x-www-form-urlencoded'
02. 修改 sets 参数,如 :
sets.header['content-type'] = 'application/x-www-form-urlencoded';
使用方式
1 请使用 async 函数利用 await 关键字调用 get 函数,来实现 GET 请求;
2 请使用 try{}catch() 包裹请求,请求成功逻辑使用 try {} 实现,请求失败利用 catch(){} 实现;
演示代码
<template>
<gui-page ref="guiPage">
<template v-slot:gBody >
<view>
<text>{{content}}</text>
</view>
</template>
</gui-page>
</template>
<script>
export default{
data() {
return {
content : null,
}
},
onLoad : function(){
this.requestDemo();
},
methods : {
requestDemo : async function(){
// 请求前置函数
uni.gRequest.befor = ()=>{
uni.showLoading({title:'加载中 ...'});
}
// 请求后置函数
uni.gRequest.after = ()=>{
uni.hideLoading();
};
// 请求
try{
// 请求成功
let res = await uni.gRequest.post(
'srequest/postDemo',
{
// post 数据
data : {
name : "grace",
age : 8
}
}
);
console.log(res);
this.content = res;
}catch(e){
// 请求失败
console.log(e);
}
}
}
}
</script>
<style>
</style>