封装 wx.request 请求传递需要的参数( url , data , method , success 成功回调 , fail 失败回调 ) , 封装常⽤⽅法 POST , GET , DELETE , PUT .... 最后导出这些⽅法然后新建⼀个 api.js ⽂件,导⼊封装好的⽅法,然后调取相应的⽅法,传递数据。
封装:
var app = getApp(); //获取⼩程序全局唯⼀app实例 var host = '******************'; //接⼝地址 //POST请求 function post(url, data, success,fail) { request(url, postData, "POST", doSuccess, doFail); } //GET请求 function get(url, data, success, fail) { request(url, postData, "GET", doSuccess, doFail); } function request(url, data, method, success, fail) { wx.showLoading({ title: "正在加载中...", }) wx.request({ url: host + url, //请求地址 method: method, //请求⽅法 header: { //请求头 "Content-Type": "application/json;charset=UTF-8" }, data: data, //请求参数 dataType: 'json', //返回数据格式 responseType: 'text', //响应的数据类型 success: function(res) { //成功执⾏⽅法,参数值为res.data,直接将返回的数据传⼊ wx.hideLoading(); success(res.data); }, fail: function() { //失败执⾏⽅法 fail(); }, }) } module.exports = { postRequest: post, getRequest: get,}
组件使⽤ 封装好的请求:
var http = require('../../utils/request.js'); //相对路径 var params = {//请求参数 id:this.data.userId} http.postRequest("user/delUser", params, function(res) { console.log("修改成功!"); }, function(res) { console.log("修改失败!!!")})
总结:
在src目录中新建一个utils目录,在目录中新建一个request.js,在request.js中首先获取整个小程序的实例来保证能调用wx所有方法,定义get和post等请求的方法,然后在get或者post请求的方法中设置wx.showToast(),然后通过wx.request来实现get或者post请求,在success中,关闭loading,然后通过回调的形式返回拿到的数据
调用:
首先要导入包
var http=require("../utils/request.js")
在方法中通过http.get方法(参数,回调)来调用