使用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);
}
}