axios请求后台

本文记录使用axios请求后台的操作,可参看文档 进入

1 下载 axios 相关包

在 Idea 控制台输入,如果npm不能直接下载相关的辅助包,则推荐查看博文

1 安装 axios: npm install axios
2 刷新项目中的包: npm install 
3 发布前端工程: npm run serve 

配置Axios请求

axios请求后台
request.js 代码

import axios from 'axios'

const instance = axios.create({
  baseURL: 'http://localhost:8081',//此处为后台程序的端口号
  timeout: 3000
});
export default instance;

axios请求后台
api/user.js 代码,注意user.js主要存储和User对象相关的操作

import request from '../utils/request'
/*
后面每次请求都需要携带token
 */
export const findDList = () => {
  return request({
    url: '/system/ddict/findDList',
    method: 'get'
  })
}

主页调用

<script>
import { findDList } from '../../api/user'
export default {
  name: 'Users',
  },
  created () {
    // 创建组件的时候 调用医生信息查询
    this.getDList();
  },
  methods: {
  //异步请求
    async getDList(){
     const {data} = await findDList()
      console.log(data);
    }
  }
}
</script>

上面配置完,在访问时,会出现跨域问题,即Access-Control-Allow-Origin问题

axios请求后台

解决跨域

解决跨域问题的方法有很多:
1 jsonp解决跨域问题
2 nginx反向代理解决跨域问题
3 @CrossOrigin 解决跨域问题
4 配 WebMvcConfigure解决跨域问题

法(1) 其中最简单的当然是基于注解,在相应的controller上方添加 @CrossOrigin 解决跨域

axios请求后台

法(2) 如果有些情况下注解无法满足跨域的问题,则需要手动配置configuration,具体操作如下:

axios请求后台
CrosConfig.java 相关代码如下

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@Configuration //注解不能丢,丢了不会起效
public class CrosConfig implements WebMvcConfigurer {
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**").allowedOrigins("*")
                .allowedMethods("GET","POST","PUT","DELETE","OPTIONS","HEAD")
                .allowCredentials(true)
                .maxAge(3600)
                .allowedHeaders("*");
    }
}

测试

axios请求后台

上一篇:学习TypeScript18(声明文件d.ts)


下一篇:Github Pages build with vite