跨域请求:顾名思义客户端请求不一样的域名会出现跨域失败;
解决办法:
第一:前端解决
点击参考
一:index.js下配置
proxyTable: {
'/': {
target: 'http://localhost:8088/',
changeOrigin: true,
pathRewrite: {
'^/': '/'
}
}
}
其中可以配置为/user,后面访问就可以/user/ACPSample_WuTiaoZhuan_Token/mrb
二:script标签下使用
getUser() {
var that=this;
Axios.get('/ACPSample_WuTiaoZhuan_Token/mrb').then(function (response){
that.list=response.data;
that.gridData1=response.data;
console.log(response);
}).catch(function (error){
console.log(error);
});
},
第二:后端解决
- 每个请求response增加header设置
resp.setHeader("Access-Control-Allow-Origin","*");
resp.setHeader("Access-Control-Allow-Methods","POST,GET,OPTIONS");
resp.setHeader("Access-Control-Allow-Headers","Origin, X-Requested-With, Content-Type, Accept");
- 统一全局配置(springboot)
新建配置类CorsConfig.java
@Configuration
public class CorsConfig {
@Value("${boot.cors.addallowedorigin:*}")
private String allowedorigin;
@Value("${boot.cors.addallowedheader:*}")
private String allowedheader;
@Value("${boot.cors.addallowedmethod:*}")
private String allowedmethod;
private CorsConfiguration buildConfig() {
CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.setAllowedOrigins(Arrays.asList(allowedorigin.split(","))); // 1
corsConfiguration.addAllowedHeader(allowedheader); // 2
corsConfiguration.addAllowedMethod(allowedmethod); // 3
corsConfiguration.addExposedHeader("SESSIONID");
corsConfiguration.setAllowCredentials(true);
return corsConfiguration;
}
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", buildConfig()); // 4
return new CorsFilter(source);
}
}
配置文件application.properties新增以下代码,允许所有的域请求,header和方法
boot.cors.addallowedorigin=*
boot.cors.addallowedheader=*
boot.cors.addallowedmethod=*