小程序ajax封裝

前言

微信小程序提供了網絡請求方法,但是用起來不太方便,就自己封裝了下。

封裝源碼

// 引用封裝的API
import API from './_api.js'
export default {
  /**
  *   fetch是封裝的請求方法
  *   參數: 
  *       url: 接口地址
  *       data: 參數
  *       method: 請求方式
  *       success: 成功后調用的方法
  *       fail: 失敗后調用的方法
  */
  fetch (url, data, method, success, fail) {
    // 請求之前的任務 (loading等)
    const accessToken = wx.getStorageSync('userInfo');
    wx.request({
      url: url,
      data: data,
      header: {
        'content-type': 'application/json; charset=UTF-8',
        'Authorization': accessToken.sessionid // 用戶token 信息
      },
      method: method,
      success: function (res) {
        // 隱藏loading
        success(res);
      },
      fail: function (res) {
        // 隱藏loading
        // 提示失敗信息
        wx.showToast({
          title: '請求失敗',
          image: '../assets/img/info.png',
          duration: 1500
        })
        fail(res);
      }
    })
  }
}

引用

import API from '../../utils/_api.js'
import HTTP from '../../utils/_http.js'
let that = this;
HTTP.fetch(API.baseUrl + API.xxx, {
    }, 'GET',
    function (res) {
       // success
        that.setData({
          // 修改數據
        })
    }, function (res) {
       // fail
    })

優化提示

以上只是簡易版,可以對參數部分進行優化,傳入一個對象字面量,之后對參數進行默認處理。

fetch (options) {
  // 參數默認處理
  options.url = options.url || '';
  options.data = options.data || {};
  ...
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,381評論 25 708
  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,245評論 4 61
  • 前不久看了電影 一條狗的使命。片末說到,要活在當下,享受生活。那么,在人生中最美好的大學四年里,你是否做到了活在當...
    秋楚錄秋閱讀 594評論 0 3
  • 文/凡布 讀冰心先生的詩文精選,是前幾日在圖書館借來的書。這些日子北方的天氣冷的厲害,讓我想到去年冬天的這時節,我...
    栗子_栗子閱讀 806評論 24 12
  • 三島說,我們歷代與時間交媾,在無盡的亂倫中世代延續。 骨架是肉體的框架,肉體由思想支配,吃喝為肉體的不衰提供能量,...
    小歌閱讀 655評論 1 2