vue使用axios

1.全局注册axios

在mian.js中注册

import Vue from 'vue'
import App from './App.vue'
import VueRouter from 'vue-router'
import {routerConfig} from './router/routerconfig.js'

import axios from 'axios'

Vue.config.productionTip = false

Vue.use(VueRouter)

Vue.__proto__.$axios=axios

new Vue({
  router:routerConfig,
  render: h => h(App),
}).$mount('#app')

2.实例化一个axios

request.js文件


import axios from 'axios'

// 创建 axios 实例
export const request = axios.create({
    // API 请求的默认前缀
    baseURL: 'http://localhost:18080/',
    timeout: 15000 // 请求超时时间
})

const errorHandler = (error) => {
    if (error.response) {
        console.log('axios error' + error.response.status)
    }
    return Promise.reject(error)
}

// request interceptor
request.interceptors.request.use(config => {
    return config
}, errorHandler)

// response interceptor
request.interceptors.response.use((response) => {
    return response.data
}, errorHandler)

3.编写api

api.js

import {request} from "@/request/request";

const url = {
    test: 'api/v1/test'
}

export function test () {
    return request({
        url: url.test,
        method: 'get',
    })
}

4.后端服务配置cors

1.在类或方法上上添加跨域注解

@CrossOrigin(origins = {"*", "null"})

2.配置类
@Configuration

public class WebMvcConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("*")
                .allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE")
                .maxAge(3600)
                .allowCredentials(true);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值