微信小程序封装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 相关文章推荐
js 代码集(学习js的朋友可以看下)
Jul 22 Javascript
JS判断变量是否为空判断是否null
Jul 25 Javascript
JQuery选择器绑定事件及修改内容的方法
Jan 23 Javascript
JavaScript实现列表分页功能特效
May 15 Javascript
根据user-agent判断蜘蛛代码黑帽跳转代码(js版与php版本)
Sep 14 Javascript
JS处理json日期格式化问题
Oct 01 Javascript
AngularJS实现一次监听多个值发生的变化
Aug 31 Javascript
Bootstrap选项卡学习笔记分享
Feb 13 Javascript
JS实现下拉菜单列表与登录注册弹窗效果
Aug 10 Javascript
新手入门带你学习JavaScript引擎运行原理
Jun 24 Javascript
jQuery zTree插件快速实现目录树
Aug 16 jQuery
JS原型对象操作实例分析
Jun 06 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
各种咖啡的英文名子是什么
2021/03/03 新手入门
PHP 获取客户端真实IP地址多种方法小结
2010/05/15 PHP
php实现encode64编码类实例
2015/03/24 PHP
PHP中strpos、strstr和stripos、stristr函数分析
2016/06/11 PHP
php输出图像的方法实例分析
2017/02/16 PHP
如何修改yii2.0自带的user表为其它的表
2017/08/01 PHP
PHP长连接实现与使用方法详解
2018/02/11 PHP
JS操作XML中DTD介绍及使用方法分析
2019/07/04 PHP
JavaScript的parseInt 进制问题
2009/05/07 Javascript
关于innerHTML后丢失动态绑定的EVENT问题解决方法
2013/05/19 Javascript
JS实现程序暂停与继续功能代码解读
2013/10/10 Javascript
点击按钮自动加关注的代码(sina微博/QQ空间/人人网/腾讯微博)
2014/01/02 Javascript
浅析Node在构建超媒体API中的作用
2014/07/30 Javascript
js代码验证手机号码和电话号码是否合法
2015/07/30 Javascript
ichart.js绘制虚线、平均分虚线效果的实现代码
2016/05/05 Javascript
js实现的在线调色板功能完整实例
2016/12/21 Javascript
DropDownList控件绑定数据源的三种方法
2016/12/24 Javascript
jQuery插件HighCharts绘制简单2D柱状图效果示例【附demo源码】
2017/03/21 jQuery
vue实现简单loading进度条
2018/06/06 Javascript
Vue插件打包与发布的方法示例
2018/08/20 Javascript
Python cookbook(数据结构与算法)从序列中移除重复项且保持元素间顺序不变的方法
2018/03/13 Python
用Python实现BP神经网络(附代码)
2019/07/10 Python
浅谈Django2.0 加xadmin踩的坑
2019/11/15 Python
python 爬取古诗文存入mysql数据库的方法
2020/01/08 Python
python add_argument()用法解析
2020/01/29 Python
python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例
2020/03/08 Python
Django实现列表页商品数据返回教程
2020/04/03 Python
在matplotlib中改变figure的布局和大小实例
2020/04/23 Python
世界各地的当地人的食物体验:Eatwith
2019/07/26 全球购物
Europcar比利时:租车
2019/08/26 全球购物
J2SDK1.5与J2SDK5.0有什么区别
2012/09/19 面试题
劳动实践课感言
2014/02/01 职场文书
企业年会主持词
2014/03/27 职场文书
通讯稿格式及范文
2015/07/22 职场文书
Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境
2021/03/29 PHP
JavaScript函数柯里化
2021/11/07 Javascript