vue+Springboot使用axios进行http请求出现跨域问题

已拦截跨源请求:同源策略禁止读取位于 http://localhost:8888/loginF 的远程资源。(原因:CORS 预检通道未成功)。

vue+Springboot使用axios进行http请求出现跨域问题

在这里插入图片描述在使用vue和springboot在一台电脑进行开发时,即使端口不一样,也会跨域的问题,刚入门vue时,会奇怪这个问题,网上博客都会有相应的解决方案,我最近也是学vue,出现跨域问题,看了一些博客,也解决了这个问题,跨域问题有两种解决方案,一是后端跨域问题,二是Vue跨域问题。

方案一:前端vue跨域

在前端vue解决跨域问题需要配置代理,在vue.config.js文件下配置(如果使用vue-cli4可能没有这个文件,在目录下创建这个文件)配置代码如下:

module.exports = {
    devServer: {
        proxy: {
            "/api": {
                target: "http://localhost:8888",
                ws: true,
                changeOrigin: true
    			pathRewrite:{
       				 '^/api':'/'
   				 }
            }
        }
    }
}

方案二springboot解决跨域

springboot解决跨域问题比较简单,只需加一个注解就行,@CrossOrigin只需在请求的方法上加上这个注解就行,相比之下比vue解决跨域简单多了。

@RequestMapping(value = "/findAll")
    @ResponseBody
    @CrossOrigin
    public String findAll(){
        return userservice.findAll().toString();
    }

你如果精通前端可以试试方案1,但是我觉得第二种更简单,只加一个注解就行,不过Vue的跨域问题就很好解决开发环境和上线环境,只有在开发环境可能会出现跨域问题,但是上线这个配置就可以不用了,配置一下就行。
也是vue的初学者,讲的可能不详细,希望可以帮到你,如有错误请指出,谢谢。

你可能感兴趣的:(vue+Springboot使用axios进行http请求出现跨域问题)