微信小程序发起wx.Requset请求
小程序中wx.Requset是小程序封装好的http请求
我们可以在封装文件中看到:
* 发起 HTTPS 网络请求。使用前请注意阅读[相关说明](https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html)。
*
* **data 参数说明**
*
*
* 最终发送给服务器的数据是 String 类型,如果传入的 data 不是 String 类型,会被转换成 String 。转换规则如下:
* - 对于 `GET` 方法的数据,会将数据转换成 query string(`encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...`)
* - 对于 `POST` 方法且 `header['content-type']` 为 `application/json` 的数据,会对数据进行 JSON 序列化
* - 对于 `POST` 方法且 `header['content-type']` 为 `application/x-www-form-urlencoded` 的数据,会将数据转换成 query string `(encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...)`
*
* **示例代码**
*
*
* ```js
wx.request({
url: 'test.php', //仅为示例,并非真实的接口地址
data: {
x: '',
y: ''
},
header: {
'content-type': 'application/json' // 默认值
},
success (res) {
console.log(res.data)
}
})
``` */
request(option: RequestOption): RequestTask
RequestOption接口:
interface RequestOption {
/** 开发者服务器接口地址 */
url: string
/** 接口调用结束的回调函数(调用成功、失败都会执行) */
complete?: RequestCompleteCallback
/** 请求的参数 */
data?: string | IAnyObject | ArrayBuffer
/** 返回的数据格式
*
* 可选值:
* - 'json': 返回的数据为 JSON,返回后会对返回的数据进行一次 JSON.parse;
* - '其他': 不对返回的内容进行 JSON.parse; */
dataType?: 'json' | '其他'
/** 开启 cache
*
* 最低基础库: `2.10.4` */
enableCache?: boolean
/** 开启 http2
*
* 最低基础库: `2.10.4` */
enableHttp2?: boolean
/** 开启 quic
*
* 最低基础库: `2.10.4` */
enableQuic?: boolean
/** 接口调用失败的回调函数 */
fail?: RequestFailCallback
/** 设置请求的 header,header 中不能设置 Referer。
*
* `content-type` 默认为 `application/json` */
header?: IAnyObject
/** HTTP 请求方法
*
* 可选值:
* - 'OPTIONS': HTTP 请求 OPTIONS;
* - 'GET': HTTP 请求 GET;
* - 'HEAD': HTTP 请求 HEAD;
* - 'POST': HTTP 请求 POST;
* - 'PUT': HTTP 请求 PUT;
* - 'DELETE': HTTP 请求 DELETE;
* - 'TRACE': HTTP 请求 TRACE;
* - 'CONNECT': HTTP 请求 CONNECT; */
method?:
| 'OPTIONS'
| 'GET'
| 'HEAD'
| 'POST'
| 'PUT'
| 'DELETE'
| 'TRACE'
| 'CONNECT'
/** 响应的数据类型
*
* 可选值:
* - 'text': 响应的数据为文本;
* - 'arraybuffer': 响应的数据为 ArrayBuffer;
*
* 最低基础库: `1.7.0` */
responseType?: 'text' | 'arraybuffer'
/** 接口调用成功的回调函数 */
success?: RequestSuccessCallback
/** 超时时间,单位为毫秒
*
* 最低基础库: `2.10.0` */
timeout?: number
}
在我的实际项目中我的wx.Requset请求在写在onLoad生命周期中,从后台获得请求数据
WXML:
<view class="recommd">
<text>{{business_id}}</text>
</view>
JavaScript:
page({
data:{
business_id:"";
},
onLoad:function(option){
var that = this;
wx.request({
url:'http://localhost:8080';
//请求地址
//如果需要传回数据此处可插入data
method:GET;
//请求方式
success:function(res){
//请求成功后执行setdata方法
that.setdata{
business:res;
//通过setdata方法将获取到的数据放入当前界面data中,便于从wxml界面直接获取
}
}
})
}
})
//实现微信小程序加载界面时从后台获取数据展示到视图层