微信小程序封装http访问网络库实例代码


Posted in Javascript onMay 24, 2017

微信小程序封装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值进一步判断,特定错误码统一处理,比如跳转登录页面等。

经过上述处理,是不是变得简洁了?

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
javascript中的throttle和debounce浅析
Jun 06 Javascript
jquery实现简单实用的打分程序实例
Jul 23 Javascript
D3.js实现文本的换行详解
Oct 14 Javascript
利用js获取下拉框中所选的值
Dec 01 Javascript
js清除浏览器缓存的几种方法
Mar 15 Javascript
JS实现留言板功能
Jun 17 Javascript
jQuery常见面试题之DOM操作详析
Jul 05 jQuery
详解vue2.0 使用动态组件实现 Tab 标签页切换效果(vue-cli)
Aug 30 Javascript
vue-scroller记录滚动位置的示例代码
Jan 17 Javascript
解决select2在bootstrap modal中不能正常使用的问题
Aug 09 Javascript
微信小程序canvas截取任意形状的实现代码
Jan 13 Javascript
微信小程序实现录制、试听、上传音频功能(带波形图)
Feb 27 Javascript
Bootstrap下拉菜单更改为悬停(hover)触发的方法
May 24 #Javascript
微信小程序 生命周期函数详解
May 24 #Javascript
很棒的vue弹窗组件
May 24 #Javascript
详解Vue使用命令行搭建单页面应用
May 24 #Javascript
详解Vue 非父子组件通信方法(非Vuex)
May 24 #Javascript
微信小程序 支付功能(前端)的实现
May 24 #Javascript
微信小程序 选项卡的简单实例
May 24 #Javascript
You might like
php动态生成版权所有信息的方法
2015/03/24 PHP
基于CI(CodeIgniter)框架实现购物车功能的方法
2018/04/09 PHP
PHP defined()函数的使用图文详解
2019/07/20 PHP
Yii框架函数简单用法分析
2019/09/09 PHP
Aliyun Linux 编译安装 php7.3 tengine2.3.2 mysql8.0 redis5的过程详解
2020/10/20 PHP
img的onload的另类用法
2008/01/10 Javascript
一些常用的JS功能函数(2009-06-04更新)
2009/06/04 Javascript
jQuery Ajax之$.get()方法和$.post()方法
2009/10/12 Javascript
JavaScript函数详解
2014/11/17 Javascript
JavaScript中的对象序列化介绍
2014/12/30 Javascript
jQuery实现的Div窗口震动效果实例
2015/08/07 Javascript
JavaScript、jQuery与Ajax的关系
2016/01/24 Javascript
Node.js的Web模板引擎ejs的入门使用教程
2016/06/06 Javascript
js正则表达式惰性匹配和贪婪匹配用法分析
2016/12/26 Javascript
jquery+css实现下拉列表功能
2017/09/03 jQuery
vue.js默认路由不加载linkActiveClass问题的解决方法
2017/12/11 Javascript
jQuery常见的遍历DOM操作详解
2018/09/05 jQuery
解决Vue在封装了Axios后手动刷新页面拦截器无效的问题
2018/11/08 Javascript
ES6 async、await的基本使用方法示例
2020/06/06 Javascript
[05:03]显微镜下的DOTA2第十期——Ti3豪之超神幽鬼
2014/06/23 DOTA
[00:56]PWL开团时刻DAY8——追追追追追!
2020/11/09 DOTA
pandas值替换方法
2018/07/10 Python
Python爬虫:url中带字典列表参数的编码转换方法
2019/08/21 Python
Python字典底层实现原理详解
2019/12/18 Python
使用Pyhton 分析酒店针孔摄像头
2020/03/04 Python
html5指南-4.使用Geolocation实现定位功能
2013/01/07 HTML / CSS
html5在移动端的屏幕适应问题示例探讨
2014/06/15 HTML / CSS
电厂厂长岗位职责
2014/01/02 职场文书
自荐信的格式
2014/03/10 职场文书
继承权公证书
2014/04/09 职场文书
付款承诺函范文
2015/01/21 职场文书
2015年保险业务员工作总结
2015/05/27 职场文书
入党团支部推荐意见
2015/06/02 职场文书
入党申请书格式
2019/06/20 职场文书
浅谈redis五大数据结构和使用场景
2021/04/12 Redis
深入理解MySQL中MVCC与BufferPool缓存机制
2022/05/25 MySQL