微信小程序封装 http 访问网络库实例代码
之前都是使用 LeanCloud 为存储,现在用传统 API 调用时做如下封装
文档出处:https://mp.weixin.qq.com/debug/wxadoc/dev/api/network-request.html
代码如下:
- var HOST = 'http://localhost/lendoo/public/index.php/';
- // 网站请求接口,统一为post
- function post(req) {
- //发起网络请求
- wx.request({
- url: HOST + req.uri,
- data: req.param,
- header: {
- "content-type": "application/x-www-form-urlencoded"
- },
- method: 'POST',
- success: function (res) {
- req.success(res.data)
- },
- fail: function (res) {
- console.log(res);
- }
- })
- }
- // 导出模块
- module.exports = { post: post
- }
然后前端调用就可以这样做了:
- var http = require('../../utils/http.js');
- ...
- http.post({
- uri: http.orderListUri,
- param: {
- third_session: wx.getStorageSync('third_session')
- },
- success: function (data) {
- that.setData({
- orderList: data
- });
- }
- });
一般对自己写的接口给自己用的时候,method 方法或 header 都是约定好的,所以不用重复书写。
- header: {
- "content-type": "application/x-www-form-urlencoded"
- },
- method: 'POST'
而 fail 回调方法也可以统一处理;进一步地,也可以对 success 回调里的针对 code 值进一步判断,特定错误码统一处理,比如跳转登录页面等。
经过上述处理,是不是变得简洁了?
来源: http://www.jb51.net/article/114593.htm