完成用户授权登录逻辑后,接下来的开发工作大部分都是与后台 api 接口的交互,本节我们详细讲解一下小程序如何与 api 进行交互 。

小程序如何发送 http/https 请求到后台?

小程序请求 http/https 使用 wx.request() 方法,request 的示例如下:
wx.request({ url:'test', data:{}, header:{'content-type':'application/json'}, success(res){ console.log(res.data)}})
这里 url 即请求的 api 接口地址 ,data 即传递的参数 ,header 设置请求类型 ,success 调用成功返回 res ,而api接口返回的数据存放在 res.data 中。
data 说明:
最终发送给服务器的数据是 String 类型,如果传入的 data 不是 String 类型,会被转换成 String 。
header 的content-type 类型有两种 :
application/x-www-form-urlencoded 和application/json
对于 POST 方法且 header['content-type'] 为application/json 的数据,会对数据进行 JSON 序列化 , 以json 形式传递到后台 api ,后台 api 接收数据是接收的是 json 数据 。
对于 POST 方法且 header['content-type'] 为application/x-www-form-urlencoded 的数据,是以表单形式传递到后台 api ,后台 api 接收数据将接收具体的请求 form 表单参数 。

小程序使用 wx.request() 获取报修列表数据

获取报修列表数据的代码如下:
getrepairList:function(e){letthat= this wx.request({ url: app.serverUrl +'api/v1/repair/list/' + that.data.page +"/" + that.data.pageSize, data:{ openid: app.globalData.openid}, header:{'content-type':'application/json' // 默认值}, success:function(res){ console.log(res.data)if(that.data.page== 1){ that.setData({ repairList:[],})} varrepairList= that.data.repairListfor(vari= 0; i