如何封装小程序请求
封裝 wx.request 請(qǐng)求傳遞需要的參數(shù)( url , data , method , success 成功回調(diào) , fail 失敗回調(diào) ) , 封裝常??法 POST , GET , DELETE , PUT .... 最后導(dǎo)出這些?法然后新建?個(gè) api.js ?件,導(dǎo)?封裝好的?法,然后調(diào)取相應(yīng)的?法,傳遞數(shù)據(jù)。
封裝:
var app = getApp(); //獲取?程序全局唯?app實(shí)例 var host = '******************'; //接?地址 ? //POST請(qǐng)求 function post(url, data, success,fail) { request(url, postData, "POST", doSuccess, doFail); } //GET請(qǐng)求 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, //請(qǐng)求地址 method: method, //請(qǐng)求?法 header: { //請(qǐng)求頭 "Content-Type": "application/json;charset=UTF-8" },data: data, //請(qǐng)求參數(shù) ?dataType: 'json', //返回?cái)?shù)據(jù)格式 responseType: 'text', //響應(yīng)的數(shù)據(jù)類型success: function(res) { //成功執(zhí)??法,參數(shù)值為res.data,直接將返回的數(shù)據(jù)傳? wx.hideLoading(); success(res.data); },fail: function() { //失敗執(zhí)??法 fail(); },})}module.exports = { postRequest: post, getRequest: get,}組件使? 封裝好的請(qǐng)求:
var http = require('../../utils/request.js'); //相對(duì)路徑 ? var params = {//請(qǐng)求參數(shù) id:this.data.userId} http.postRequest("user/delUser", params, function(res) { console.log("修改成功!"); }, function(res) { console.log("修改失敗!!!")})總結(jié):
在src目錄中新建一個(gè)utils目錄,在目錄中新建一個(gè)request.js,在request.js中首先獲取整個(gè)小程序的實(shí)例來保證能調(diào)用wx所有方法,定義get和post等請(qǐng)求的方法,然后在get或者post請(qǐng)求的方法中設(shè)置wx.showToast(),然后通過wx.request來實(shí)現(xiàn)get或者post請(qǐng)求,在success中,關(guān)閉loading,然后通過回調(diào)的形式返回拿到的數(shù)據(jù)
調(diào)用:
首先要導(dǎo)入包
var http=require("../utils/request.js")
在方法中通過http.get方法(參數(shù),回調(diào))來調(diào)用
總結(jié)
- 上一篇: .NET 云原生架构师训练营(模块二 基
- 下一篇: 两台电脑通过trunk口互通,修改tru