Cors跨域請求問題

使用ajax請求后臺時(shí)前端控制臺報(bào)錯(cuò):Failed to load https://example.com/: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. Origin ‘https://anfo.pl' is therefore not allowed access. If an opaque response serves your needs, set the request’s mode to ‘no-cors’ to fetch the resource with CORS disabled.

跨域原因說明 示例
域名不同 www.jd.comwww.taobao.com
域名相同,端口不同 www.jd.com:8080www.jd.com:8081
二級域名不同 item.jd.com 與 miaosha.jd.com
CORS跨域問題的兩種解決方式

1.nginx反向代理
思路是:利用nginx反向代理把跨域?yàn)椴豢缬颍С指鞣N請求方式
缺點(diǎn):需要在nginx進(jìn)行額外配置,語義不清晰

2.后臺處理,與SpringBoot啟動類同級目錄下新建一個(gè)配置類

@Configuration
public class CorsConfig {
    private CorsConfiguration buildConfig() {
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        // 你需要跨域的地址,* 表示對所有的地址都可以訪問
        corsConfiguration.addAllowedOrigin("*");
        // 跨域的請求頭
        corsConfiguration.addAllowedHeader("*");
        // 跨域的請求方法
        corsConfiguration.addAllowedMethod("*");
        // 可以攜帶 cookie,可以 在跨域請求的時(shí)候獲取同一個(gè) session
        return corsConfiguration;
    }

    @Bean
    public CorsFilter corsFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        // 配置 可以訪問的地址
        source.registerCorsConfiguration("/**", buildConfig());
        return new CorsFilter(source);
    }

}

參考文章:http://www.itdecent.cn/p/98d4bc7565b2

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第一次寫博客,也是意識到了作為一名菜鳥,在不斷的學(xué)習(xí)過程中,需要博客能更好的鞏固自己所學(xué)的知識,也可以鍛煉自己的文...
    zibertam閱讀 1,227評論 0 1
  • 在項(xiàng)目開發(fā)過程中,遇到了Ajax跨域訪問資源的問題,提示出現(xiàn)了類似于下面這樣的錯(cuò)誤: Cross-Origin R...
    vito1994閱讀 3,919評論 5 14
  • 題目1.什么是同源策略? 同源策略(Same origin Policy): 瀏覽器出于安全方面的考慮,只允許與本...
    FLYSASA閱讀 1,889評論 0 6
  • 什么是跨域 跨域,是指瀏覽器不能執(zhí)行其他網(wǎng)站的腳本。它是由瀏覽器的同源策略造成的,是瀏覽器對JavaScript實(shí)...
    Yaoxue9閱讀 1,414評論 0 6
  • 什么是跨域 跨域,是指瀏覽器不能執(zhí)行其他網(wǎng)站的腳本。它是由瀏覽器的同源策略造成的,是瀏覽器對JavaScript實(shí)...
    他方l閱讀 1,141評論 0 2

友情鏈接更多精彩內(nèi)容