springboot vue 登陆发送请求(跨域问题)02

2017年09月28日 22:17:32

阅读数:2124

1.前后端分离之间进行通讯首先要进行跨域请求,以前的做法就是写个过滤器来操作,还有就是nginx代理了。 
现在用vue和springboot都有新的方式 
第一种 
vue2 本身也支持跨域,开发过程中支持这个,方便 
第二种 
springboot 简单一个类就可以支持 
第三种 
生产环境用nginx就不用说了,必须的。像什么复杂的代理请求和负载等等都可以 
先弄第一种 
这里写图片描述
引入resource 
这里写图片描述
在App.vue 加入请求方法 
methods: { 
getData () {

  var that = this.$http.get('api/sysuser/list')
            .then(function (response) {
              console.log(response.data)
              console.log(this)
              that.serverData = response.data
            })
            .catch(function (error) {
              console.log(error)
            })
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11


这里写图片描述
2.第二种 springboot 配置也可以 
去掉之前vue代理请求就提示跨域问题了,我们先删除代理运行看看 
这里写图片描述 
访问地址修改成 
这里写图片描述
再次访问就有跨域问题 
这里写图片描述
接下来在项目种加入CorsConfig类,如图 
这里写图片描述

@Configuration
public class CorsConfig  extends WebMvcConfigurerAdapter{

      @Override  
        public void addCorsMappings(CorsRegistry registry) { 
            System.out.println("----------------------");
            registry.addMapping("/**")  
                    .allowedOrigins("*")  
                    .allowCredentials(true)  
                    .allowedMethods("GET", "POST", "DELETE", "PUT")  
                    .maxAge(3600);  
        }  


}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

重启项目刷新页面,跨域问题就解决了 
这里写图片描述
第三种nginx跨域解决问题后面部署服务器的时候再一起学习

Logo

前往低代码交流专区

更多推荐