Uniapp项目用axios封装request
在Uniapp项目中,我们经常需要与后端进行数据交互,而axios是一个功能强大的HTTP库,可以用于发送HTTP请求。本文将介绍如何在Uniapp项目中使用axios,并封装成可复用的request方法。
什么是axios
axios是一个基于Promise的HTTP库,可以用于浏览器和Node.js中发送HTTP请求。它具有以下特点:
- 在浏览器中可使用XMLHttpRequest发送HTTP请求
- 支持Promise API
- 支持拦截请求和响应
- 支持取消请求
- 自动转换JSON数据
- 提供了一些方便的方法,如并发请求、批量请求等
在Uniapp项目中引入axios
为了在Uniapp项目中使用axios,我们需要先安装axios库。在项目的根目录下打开终端,执行以下命令:
npm install axios
安装完成后,在需要使用axios的文件中,通过import语句引入axios:
import axios from 'axios'
封装request方法
为了方便在项目的各个页面中使用axios发送请求,我们可以将其封装成一个request方法。首先,在一个单独的文件中创建一个request.js,代码如下:
// request.js
import axios from 'axios'
const request = axios.create({
baseURL: ' // 设置请求的基础URL
timeout: 5000 // 请求超时时间
})
export default request
上述代码通过axios.create方法创建一个axios实例,并设置了请求的基础URL和超时时间。这样我们就可以在项目的其他地方使用request方法发送HTTP请求。
使用request发送请求
在Uniapp项目中,我们可以通过request方法发送HTTP请求。下面是一个使用request发送GET请求的例子:
// index.vue
<template>
<div>
<button @click="getData">获取数据</button>
<div>{{ data }}</div>
</div>
</template>
<script>
import request from '@/utils/request'
export default {
data() {
return {
data: null
}
},
methods: {
getData() {
request.get('/data')
.then(response => {
this.data = response.data
})
.catch(error => {
console.log(error)
})
}
}
}
</script>
上述代码中,我们在index.vue文件中通过import语句引入了request方法,并在methods中定义了一个getData方法,当按钮被点击时,调用request.get方法发送GET请求,并将返回的数据赋值给data属性。
request方法的更多用法
除了发送GET请求,request方法还支持其他HTTP请求方法,如POST、PUT、DELETE等。下面是一个使用request发送POST请求的例子:
// login.vue
<template>
<div>
<form @submit.prevent="login">
<input type="text" v-model="username" placeholder="用户名" />
<input type="password" v-model="password" placeholder="密码" />
<button type="submit">登录</button>
</form>
</div>
</template>
<script>
import request from '@/utils/request'
export default {
data() {
return {
username: '',
password: ''
}
},
methods: {
login() {
request.post('/login', {
username: this.username,
password: this.password
})
.then(response => {
console.log(response.data)
})
.catch(error => {
console.log(error)
})
}
}
}
</script>
上述代码中,我们在login.vue文件中使用request.post方法发送POST请求,并将用户名和密码作为请求体发送给后端。
结语
通过封装axios的request方法,我们可以在Uniapp项目中方便地发送HTTP请求,并对响应进行处理。这样可以提高代码的复用性和可维护性,使项目开发更加高效。
以上就是Uniapp项目用axios封装request的介绍,希望能对你有所帮助。
参考资料
- [axios官方文档](
- [Uniapp官方文档](