promise封装微信小程序请求方方式 (以下代码可直接使用)
var app = getApp();
//项目URL相同部分,减轻代码量,同时方便项目迁移 var host = 'url'; //url是请求接口的基本地址,相当于baseurl
/**
- POST请求,
- URL:接口
- postData:参数,json类型
- doSuccess:成功的回调函数
- doFail:失败的回调函数 */
function postData(url, postData, doSuccess, doFail) { wx.request({
//项目的真正接口,通过字符串拼接方式实现
url: host + url,
header: {
"content-type": "application/json;charset=UTF-8"
},
//Post传参需要设置
// header: {"Content-Type": "application/x-www-form-urlencoded"},
data: postData,
method: 'POST',
success: function (res) {
//参数值为res.data,直接将返回的数据传入
doSuccess(res.data);
},
fail: function () {
doFail();
},
timeout: 30000, //请求超时时间,这里设置半分钟
}) }
//GET请求,不需传参,直接URL调用,
function getData(url, doSuccess, doFail) { wx.request({ url: host + url, header: { "content-type": "application/json;charset=UTF-8" }, method: 'GET', success: function (res) { doSuccess(res.data); }, fail: function () { doFail(); }, }) }
/** * module.exports用来导出代码
- js文件中通过var call = require("../util/request.js") 加载 * 在引入引入文件的时候" "里面的内容通过../../../这种类型,小程序的编译器会自动提示,因为你可能 * 项目目录不止一级,不同的js文件对应的工具类的位置不一样 * * module.exports用来导出代码
- js文件中通过var call = require("../util/request.js") 加载 * 在引入引入文件的时候" "里面的内容通过../../../这种类型,小程序的编译器会自动提示,因为你可能 * 项目目录不止一级,不同的js文件对应的工具类的位置不一样 */
module.exports.postData = postData;
module.exports.getData = getData;