轉:https://segmentfault.com/a/1190000012469713?utm_source=tag-newest
使用springboot進行前後端分離的時候出現跨域請求。
在HTML頁面發起ajax請求的時候出現了下列錯誤。
說明這不是一個簡單的請求,分別嘗試在前端和後端解決。
1、發起ajax的時候,將dataType由"json"改爲"jsonp"
$.ajax({
url: ApiUrl+"/tree/queryTreeNode",
type: "get",
dataType: 'json',
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
success: function(data){
console.log(data);
}
})
結果:不在報錯,但是返回的數據不可用
2、在後端添加以下全局配置
/**
* 跨域配置
*/
@Configuration
public class CorsConfig{
private CorsConfiguration buildConfig() {
CorsConfiguration corsConfiguration = new CorsConfiguration();
// 可以自行篩選
corsConfiguration.addAllowedOrigin("*");
corsConfiguration.addAllowedHeader("*");
corsConfiguration.addAllowedMethod("*");
return corsConfiguration;
}
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", buildConfig());
return new CorsFilter(source);
}
}
結果:成功解決。