axios封装和api接口请求

一,首先要封装axios要先下载axios

npm i axios -S

二,目录创建


在项目的src目录中,新建一个文件夹,作为我们的网络请求模块,然后在里面新建一个api.js文件和一个http.js。

http.js文件用来封装我们的axios,api.js用来统一管理我们的接口url

三, 在http.js中引入axios(使用什么组件要提前下载并且引入)

import axios from 'axios'; // 引入axios

import router from '../router';

// vant的toast提示框组件,大家可根据自己的ui组件更改。

import { Toast } from 'vant'; 

//element-ui 的loging,和信息提示

import {Loading, Message} from 'element-ui'

四,创建axios实例

const service = axios.create({
  baseURL: baseUrl, // url = base api url + request url
  withCredentials: false, // send cookies when cross-domain requests
  timeout: 1000*12 // 请求超时
})

五,post请求头的设置


post请求的时候,我们需要加上一个请求头,所以可以在这里进行一个默认的设置,即设置post的请求头为application/x-www-form-urlencoded;charset=UTF-8

service.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';

六,请求拦截


service.interceptors.request.use(
  function(config) {
    Vue.$loading.show();
    if (store.state.token) {
 
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
axios是一个基于Promise的HTTP客户端,可以用于浏览器和Node.js。它可以用于发送GET、POST、PUT、DELETE等请求,并且支持拦截器、取消请求、自动转换JSON数据等功能。 在使用axios发送请求时,需要先引入axios库,然后通过axios对象调用相应的方法,例如: ```javascript import axios from 'axios'; axios.get('/api/user') .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }); ``` 上面的代码中,我们使用axios发送了一个GET请求请求的地址是`/api/user`。当请求成功时,会在控制台输出响应数据;当请求失败时,会在控制台输出错误信息。 为了方便使用,我们可以将axios进行封装。例如,我们可以创建一个api.js文件,将所有的API请求封装在这个文件中: ```javascript import axios from 'axios'; const api = axios.create({ baseURL: 'http://localhost:3000/api', timeout: 5000, }); export const getUser = () => api.get('/user'); export const addUser = (data) => api.post('/user', data); export const updateUser = (id, data) => api.put(`/user/${id}`, data); export const deleteUser = (id) => api.delete(`/user/${id}`);``` 上面的代码中,我们使用axios.create方法创建了一个axios实例,并设置了baseURL和timeout。然后,我们分别封装了获取用户、添加用户、更新用户和删除用户的API请求,并通过export导出这些方法。 在其他文件中,我们可以直接引入这些方法,并调用它们: ```javascript import { getUser, addUser, updateUser, deleteUser } from './api'; getUser() .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }); ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值