使用 chrome 谷歌浏览器前后端接口调试的时候遇到了这个问题:
network
Provisional headers are shown
console
Cross-Origin Read Blocking (CORB) blocked cross-origin response http://xxx:180/test?id=1035 with MIME type application/json. See https://www.chromestatus.com/feature/5629709824032768 for more details.
如果使用其它浏览器或者 postman 等测试工具测试的话又可以调用。
错误原因其实是跨域的问题,后端需要设置允许跨域就可以了。
我的项目是 spring boot 项目,配置跨域如下:
@Configuration
public class CorsConfig {private CorsConfiguration buildConfig() {org.springframework.web.cors.CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.addAllowedOrigin("http://127.0.0.1:800"); // 1 这就是前端调用放的 origin,可以在 network 中查看
corsConfiguration.addAllowedHeader("*"); // 2 允许任何头
corsConfiguration.addAllowedMethod("*"); // 3 允许任何方法(post、get 等)return corsConfiguration;
}
@Bean
public CorsFilter corsFilter() {UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", buildConfig()); // 4
return new CorsFilter(source);
}
}