vue中使用axios调用后端接口

vue本身不支持ajax接口的请求,所以在vue中经常使用axios这个接口请求工具。
axios的官方github: https://github.com/mzabriskie/axios

1. 封装axios工具

在工程中的src目录下新建一个名为api的目录,在src/api目录下新建一个index.js文件。


7007663-c3d1975892b16d8c.png

在index.js里面,编写如下内容:


2 修改main.js文件

绑定api/index.js文件,添加如下内容:

// 引用API文件
import api from './api/index.js'
// 将API方法绑定到全局
Vue.prototype.$api = api

3 修改index.vue

代码如下:

<template>
  <div>index page</div>
</template>
<script>
export default {
  created () {
    this.$api.get('topics', null, r => {
      console.log(r)
    })
  }
}
</script>

4 浏览器查看

在console下可以看到如下数据,说明接口请求成功了。


7007663-a6b89bef4ff0be2c.png

5 解决跨越问题

在前后端分离的情况下,要解决的问题就是跨域问题。
配置 webpack 将接口代理到本地

5.1 修改config/index.js文件
找到proxyTable,修改域名

proxyTable: {
      '/api':{
          target:'http://localhost:8036/',   //接口地址
          changeOrigin:false,
          pathRewrite:{
              '/api':''
          }
      },
      '/ms':{
          target:'http://localhost:8036/',
          changeOrigin: false
      }
    },
    // Various Dev Server settings
    host: 'localhost', 
    port: 8099,
    autoOpenBrowser: false,
    errorOverlay: true,
    notifyOnErrors: true,
    poll: false, 

这种方法好像解决不了。

5.2 修改后端代码
这边后端用的是java 基于springboot框架,
在Application.java文件中添加如下代码:

public class Application extends WebMvcConfigurerAdapter {  
  
    @Override  
    public void addCorsMappings(CorsRegistry registry) {  
  
        registry.addMapping("/**")  
                .allowCredentials(true)  
                .allowedHeaders("*")  
                .allowedOrigins("*")  
                .allowedMethods("*");  
  
    }  
」 

【参考链接】:
https://blog.csdn.net/fungleo/article/details/77601761

https://blog.csdn.net/qq779446849/article/details/53102925

  • 3
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值