Skip to content

快速上手

安装

前面我们已经介绍了如何安装,接下来我带你从创建请求实例到发起请求的简单入门。

创建实例

新建 ajax.js 文件(文件名可自定义)用于处理拦截器、接口根地址、默认配置等。如果想深入了解请求实例,可通过后面的文档查看详细内容。

js
// ajax.js

// 引入 uni-ajax 模块
import ajax from 'uni-ajax'

// 创建请求实例
const instance = ajax.create({
  // 初始配置
  baseURL: 'https://www.example.com/api'
})

// 添加请求拦截器
instance.interceptors.request.use(
  config => {
    // 在发送请求前做些什么
    return config
  },
  error => {
    // 对请求错误做些什么
    return Promise.reject(error)
  }
)

// 添加响应拦截器
instance.interceptors.response.use(
  response => {
    // 对响应数据做些什么
    return response
  },
  error => {
    // 对响应错误做些什么
    return Promise.reject(error)
  }
)

// 导出 create 创建后的实例
export default instance

发起请求

导入上面创建好的请求实例即可发起请求。

js
import ajax from '@/services/ajax'  // 路径需根据项目实际情况

// GET 请求 https://www.example.com/api/demo 接口
ajax('demo')

// 你也可以下面这样使用
ajax({ url: 'demo' })
ajax.get('demo')
ajax.get({ url: 'demo' })
通过挂载全局方式调用(Vue2 / nvue)

在 Vue2 我们常将创建好的请求实例挂载在 Vue 实例全局属性上,即可方便地调用请求方法。

js
// main.js

import ajax from '@/services/ajax' // 路径需根据项目实际情况

// Vue2:挂载在 Vue 原型链上,则通过 this.$ajax 调用
Vue.prototype.$ajax = ajax

// 如果你在项目中有用到 nvue 页面,是无法通过 this.$ajax 调用
// 需要将请求方法添加到 uni 对象上,然后通过 uni.$ajax 调用
uni.$ajax = ajax

通过 this.$ajax 在页面中调用发起请求。

js
// GET 请求 https://www.example.com/api/demo 接口
this.$ajax('demo')

// 你也可以下面这样使用
this.$ajax({ url: 'demo' })
this.$ajax.get('demo')
this.$ajax.get({ url: 'demo' })

但在 Vue3 中使用 Composition API,更多的是通过引入请求实例来调用。

Released under the MIT License.