uni-app使用axios

本文档详细介绍了如何在uni-app项目中使用axios进行网络请求。从HbuilderX创建项目开始,逐步讲解安装axios、引入js_sdk文件,创建utils/http.js并封装http模块,最后提供了前端、服务端及数据库脚本的下载链接,帮助开发者了解完整的项目结构。

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

一、基于axios封装的request网络请求

1.1 HbuilderX创建项目

在这里插入图片描述

​ 初始项目结构如下图:

在这里插入图片描述

1.2 安装axios

npm install --save axios@0.19.0

1.3 拷贝js_sdk文件夹到项目根路径下

百度网盘链接:链接:https://pan.baidu.com/s/1PvixwCqt-1eXgelRHUa0OQ
提取码:4hmv
–来自百度网盘超级会员V1的分享

1.4 项目根路径下创建utils文件夹

1.4.1 创建http.js

import axios from '@/js_sdk/gangdiedao-uni-axios'

// 创建自定义接口服务实例
const http = axios.create({
	baseURL: 'http://127.0.0.1:8099',//根据个人后端情况,修改此处baseURL
	timeout: 6000, // 不可超过 manifest.json 中配置 networkTimeout的超时时间
	withCredentials: true,
	headers: {
		'Content-Type': 'application/json',
		//'X-Requested-With': 'XMLHttpRequest',
	},
})

// 拦截器 在请求之前拦截   添加token
http.interceptors.request.use(config => {
	//请求前有关处理逻辑
	return config
})
// 响应后的拦截
http.interceptors.response.use(response => {
    //响应拦截处理逻辑
	return response;
}, error => {
	
	return Promise.reject(error.message)
})

export default http

1.4.2 基础使用

1.方式一:全局配置

main.js中,新增行4、行8代码

import Vue from 'vue'
import App from './App'
// 引入http.js
import http from './utils/http.js'

Vue.config.productionTip = false
//添加原型属性到Vue对象
Vue.prototype.$http = http;
App.mpType = 'app'

const app = new Vue({
    ...App
})
app.$mount()

使用:

<template>
	<view class="content">
		<image class="logo" src="/static/logo.png"></image>
		<view class="text-area">
			<text class="title">{{name}}</text>
		</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				name: 'Hello'
			}
		},
		onLoad() {
		    //页面加载时,调用服务端接口,获取类型,$http已在main.js中进行全局配置
			var that = this
			this.$http.get('/SysType/getById?id=1001')
			.then(res => {
				this.name = res.data.data.name
			})
		},
		methods: {

		}
	}
</script>

<style>
	.content {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}

	.logo {
		height: 200rpx;
		width: 200rpx;
		margin-top: 200rpx;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 50rpx;
	}

	.text-area {
		display: flex;
		justify-content: center;
	}

	.title {
		font-size: 36rpx;
		color: #8f8f94;
	}
</style>

2.方式二:局部使用

​ 在页面*.vue的

import http from '@/utils/http.js'
// get 请求
http.get(URL, [params]).then((res) => {
	**
}).catch(error => {
	**
}).finally(() => {
	**
})

// post 请求
http.post(URL, [data]).then(res => {
	
}).catch(error => {
	
}).finally(() => {
	
})

1.5 项目链接

1.5.1前端

链接:https://pan.baidu.com/s/1GsJFWYlaGA5DzPdlfNVvoA
提取码:lbfs
–来自百度网盘超级会员V1的分享

1.5.2 服务端

链接:https://pan.baidu.com/s/1-Md9phpS5BFv5qa1djUqmg
提取码:i3dy
–来自百度网盘超级会员V1的分享

1.5.3 数据库脚本

链接:https://pan.baidu.com/s/1B3H1wxlMHsKYPtJEk_AIsw
提取码:mj7u
–来自百度网盘超级会员V1的分享

1.6 前端项目结构(最终)

在这里插入图片描述

uni-app中封装axios,可以让你更方便地进行网络请求。axios是一个流行的基于Promise的HTTP客户端,可以在浏览器和Node.js中使用。 首先,你需要在uni-app项目中安装axios。在命令行中运行以下命令: ```shell npm install axios ``` 接下来,创建一个http.js文件,用于封装axios的配置和请求函数: ```javascript import axios from 'axios' // 创建axios实例 const instance = axios.create({ baseURL: 'http://example.com/api', // 设置请求的baseURL timeout: 5000, // 设置请求超时时间 }) // 请求拦截器 instance.interceptors.request.use( config => { // 在发送请求之前做些什么,比如添加token等 return config }, error => { // 对请求错误做些什么 return Promise.reject(error) } ) // 响应拦截器 instance.interceptors.response.use( response => { // 对响应数据做些什么 return response.data }, error => { // 对响应错误做些什么 return Promise.reject(error) } ) export default instance ``` 在上面的代码中,我们创建了一个axios实例,并设置了baseURL和timeout。然后,我们通过拦截器对请求进行处理,可以在请求发送前和响应返回后做一些额外的处理,比如添加token、处理错误等。 现在,你可以在项目的任何地方使用这个封装好的axios实例进行网络请求。例如: ```javascript import http from '@/utils/http' http.get('/users') .then(data => { console.log(data) }) .catch(err => { console.error(err) }) ``` 这样,你就可以在uni-app使用封装好的axios进行网络请求了。当然,你还可以根据自己的需求对axios进行更多的配置和封装。希望对你有帮助!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值