小程序:封装ajax

本文详细介绍了一个小程序中Ajax请求的封装方法,包括GET和POST请求,并实现了一个验证用户是否登录的功能。通过在请求头中携带token进行身份验证,若未登录则自动跳转至登录页面,确保了API的安全调用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录结构

├── pages
├── images
├── utils
│ ├── ajax.js
├── app.js

代码

// utils/ajax.js
// 基准路径
const baseUrl = 'http://localhost:8090'
// 1.0 返回一个 promise 对象
function ajax(url, method = 'GET', data = {}, header = {}) {
  return new Promise((resolve, reject) => {
    wx.showLoading({
      title: '加载中'
    })
    // 2.0 完成逻辑处理
    wx.request({
      url: baseUrl + url,
      method: method,
      data: data,
      header,
      success: res => {
        resolve(res)
        wx.hideLoading()
      },
      fail: err => {
        reject(err)
      }
    })
  })
}

// 封装一个单独的 get 方法
ajax.get = function (url, data = {}) {
  return ajax(url, 'GET', data)
}

// 封装一个单独的 post 方法
ajax.post = function (url, data = {}) {
  return ajax(url, 'POST', data)
}

// 封闭一个验证是否登录的方法
ajax.auth = function (url, method, data = {}) {
  // 得到 token
  var token = wx.getStorageSync('token')
  if (!token) {
    // 如果不存在,跳转到登录页面
    wx.navigateTo({
      url: '/pages/index/index'
    })
    return new Promise(() => { })
  }
  // 如果存在,就直接发送请求(在请求头中带上 token)
  return ajax(url, method, data, { "Authorization": token })
}

// 3.0 暴露给外界
export default ajax
//app.js
const ajax = require('./utils/ajax.js');
// 第一种
global.ajax = ajax;
// 某个页面调ajax
global.ajax.default.post('/add-address/submit', data).then(res => {
  if (res.data.code === 200) {

  }
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lvan的前端笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值