小程序中,我们一般习惯把提交接口请求的方法放在一个公共js里面。下面是一个简单实现。

(1)我们把所有请求的地址都放在一个json里面

var postAddress = {
"domin": "http://www.baidu.com", //域名
"getOpenId": "/index/getOpenId", //登录获取用户信息
"orderlist": "/business/orderlist",
"orderdetail": "/business/orderdetail",
"initOrder": "/order/init"
};

(2)封装wx.request

function post(postName, paramData = {}, callback) {
var data = {token: token}; //添加公共数据,比如token
for (var key in paramData) {
data[key] = paramData[key];
}
var reqUrl = postAddress ['domin'] + postAddress [postName];
if (reqUrl) {
wx.request({
method: "POST",
header: {
"Content-Type": "application/x-www-form-urlencoded;charset=utf-8"
},
url: reqUrl,
data: data,
success: function (res) {
if (callback != '') {
callback(res);
}
}, fail: function (res) {
console.log(JSON.stringify(res));
}
})
}
}

(3)对外提供方法

module.exports = {
  post: post
}

(4)使用

在app.js中引入post.js

const util = require("./utils/post.js");
App({
onLaunch: function () {
wx.login({
success: res => {
if (res.code) {
util.post("getOpenId", {code: res.code}, function(ret){
if(ret.data.code == 200){
//获取openId成功
}
});
}
}

})

也可以将util保存到app里面,在pages页面使用,直接引用app即可。

const app = getApp()

小程序封装一个ajax的更多相关文章

  1. 小程序封装一个有输入框的modal层组件

    其实很简单,就是在modal中添加新的 input <view> <modal class="modal" wx:if="{{!hiddenModal} ...

  2. 微信小程序封装storage(含错误处理)

    这次给你们安利的是微信小程序封装storage,先说下微信官方的 wx.getStorage({ key:"", success: function (res) { }, fail ...

  3. 封装一个Ajax工具函数

    /*封装一个ajax工具函数*/ window.$ = {}; /*通过$定义一个ajax函数*/ /* * 1. type   string   请求的方式  默认是get * 2. url     ...

  4. 微信小程序发布一个月,世界并没有什么不同

    从某种意义上说,在张小龙身上,最可怕的事情莫过于微信小程序发布一个月,一开始的大红大紫居然渐归沉寂,曾经的风光无限已无人谈起,世界并没有什么不同. 这真像一场噩梦,一切都可怕地颠倒了.一款微信的战略级 ...

  5. 微信小程序 封装请求

    在写小程序的时候,每个JS文件都一大堆的请求,看得自己都眼花缭乱,下面看一下怎么对请求方法进行封装. 1,方法封装,在util文件夹下新建文件,创建request.js文件,工具文件,用于对方法封装) ...

  6. 小程序封装request请求,统一API

    程序开发中都会调用后端工程师开发的API,小程序的开发文档提供了相对实用的APIwx.request(),但是在开发的过程中,又遇到了一些问题,在小程序的项目开发时,调用的API不止一个,同一个API ...

  7. 微信小程序创建一个新项目

    1. 新建一个文件夹. 2. 打开微信小程序开发工具,导入新建文件夹:然后输入创建的appId:会自动生成一个project.config.json,打开这个文件,会看到appid这个字段. 3.可以 ...

  8. Westore 1.0 正式发布 - 小程序框架一个就够

    世界上最小却强大的小程序框架 - 100多行代码搞定全局状态管理和跨页通讯 Github: https://github.com/dntzhang/westore 众所周知,小程序通过页面或组件各自的 ...

  9. 小程序 wx.request ajax示例

    简单示例 https://developers.weixin.qq.com/miniprogram/dev/api/network-request.html wx.request({ method: ...

随机推荐

  1. AI-Info-Micron-Insight:工业 5.0,伟大的思想将殊途同归

    ylbtech-AI-Info-Micron-Insight:工业 5.0,伟大的思想将殊途同归 1.返回顶部 1. 工业 5.0,伟大的思想将殊途同归 两个头脑比一个好吗?似乎如此,尤其是当其中一个 ...

  2. OpenCV&Qt学习之四——OpenCV 实现人脸检测与相关知识整理

    开发配置 OpenCV的例程中已经带有了人脸检测的例程,位置在:OpenCV\samples\facedetect.cpp文件,OpenCV的安装与这个例子的测试可以参考我之前的博文Linux 下编译 ...

  3. Nexus 相关

    https://help.sonatype.com/repomanager3/download https://www.jianshu.com/p/5fc8fb14d25c

  4. 关于MVC模型的NSNotification用法

    对于iOS开发开发者, Model View Controller 模型能帮你快速理清开发思路,最近在使用Model给Controller传递数据时候了解了关于 NSNotification的一些用法 ...

  5. freemarker常用标签解释三

    1 date,time,datetime 日期,时间,时间日期 <#assign test1 = "10/25/1995"?date("MM/dd/yyyy&quo ...

  6. Java实现几分钟之后调度任务的定时器

    几分钟之后执行某一操作,使用定时器Timer可以实现 Timer是jdk中提供的一个定时器工具,使用的时候会在主线程之外起一个单独的线程执行指定的计划任务,可以指定执行一次或者反复执行多次. 具体实现 ...

  7. Django 06 Django模型基础1(ORM简介、数据库连接配置、模型的创建与映射、数据的增删改查)

    Django 06 Django模型基础1(ORM简介.数据库连接配置.模型的创建与映射.数据的增删改查) 一.ORM系统 #django模型映射关系 #模型类-----数据表 #类属性-----表字 ...

  8. C语言文件I/O和标准I/O函数

    读取/写入  相对于文件而言 输入/输出 相对于程序/内存而言 一切皆文件,键盘.显示屏也是文件,只不过是特殊的标准文件: 标准文件:标准输入.标准输出.标准错误:---->对应的文件指针:st ...

  9. P3193 [HNOI2008]GT考试

    传送门 容易看出是道DP 考虑一位一位填数字 设 f [ i ] [ j ] 表示填到第 i 位,在不吉利串上匹配到第 j 位时不出现不吉利数字的方案数 设 g [ i ] [ j ] 表示不吉利串匹 ...

  10. yii2 basic VER

    assets/ contains assets definition 包含资源定义 commands/ contains console commands (controllers) 包含命令行命令, ...