簡體   English   中英

收到錯誤 ---> 已被 CORS 政策阻止:

[英]getting error --->has been blocked by CORS policy:

// code of react js for post request ---->>>
-----------------------------------------------
export const BASE_URL = "http://localhost:8080";


export const myAxios = axios.create({
  baseURL: BASE_URL,
});

export const privateAxios = axios.create({
  baseURL: BASE_URL,
  headers: {
    "Content-Type": "application/json",
    "Access-Control-Allow-Origin": "*",
    
  },
 
});

privateAxios.interceptors.request.use(
  (config) => {
    const token = getToken();

    if (token) {
      // config.headers.common.Authorization = `Bearer ${token}`;
      config.headers["Authorization"] = `Bearer ${token}`;
      // console.log(config);
    }

    return config;
  },
  (error) => Promise.reject(error)
);

export const createPost = (user) => {
  return  privateAxios
    .post("/profile/v2/add/post", user)
    .then((val) => {
      console.log(val);
    })
    .catch((err) => console.log(err));

};
-----------------------------------------------------------------------------------------------
// cors config in spring boot ---->>>>

@Bean
    public FilterRegistrationBean crossFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        FilterRegistrationBean bean = new FilterRegistrationBean(new CorsFilter(source));

        CorsConfiguration corsConfiguration = new CorsConfiguration();
        corsConfiguration.setAllowCredentials(true);
        corsConfiguration.addAllowedOriginPattern("*");
        corsConfiguration.addAllowedHeader("Authorization");
        corsConfiguration.addAllowedHeader("Content-Type");
        corsConfiguration.addAllowedHeader("Accept");
        corsConfiguration.addAllowedMethod("POST");
        corsConfiguration.addAllowedMethod("PUT");
        corsConfiguration.addAllowedMethod("GET");
        corsConfiguration.addAllowedMethod("DELETE");
        corsConfiguration.addAllowedMethod("OPTIONS");
        corsConfiguration.setMaxAge(3600L);
        source.registerCorsConfiguration("/**", corsConfiguration);

        return bean;

    }

我正在嘗試發帖,但出現錯誤--->>

從來源“http://localhost:3000”訪問位於“http://localhost:8080/profile/v2/add/post”的 XMLHttpRequest 已被 CORS 策略阻止:對預檢請求的響應未通過訪問控制檢查: 請求的資源上不存在“Access-Control-Allow-Origin”標頭。

對於 spring boot 上的 CORS 配置,您可以使用實現WebMvcConfigurer配置

@Configuration
@EnableWebMvc
public class WebConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**");
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM