日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

跨域 CORS policy

發布時間:2023/12/16 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 跨域 CORS policy 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Angular + SpringBoot 項目跨域問題

? 由于項目的需要,最近一段時間都在學習Angular,正好之前無聊寫了一個后端的CRUD的demo,索性就將前后端整合起來。

? 整體的思路是,前端由Angular發送一個get請求(import HttpClient組件),請求通過Http,發送到Controller層,然后途經三層架構,訪問數據庫。然后后端返回的json數據發給前端解析。本以為這個demo特別簡單,沒有什么技術難點,邏輯也不復雜。結果在前端發送get請求的時候出了問題,但是身經百戰的小編內心毫無波動。直接F12查看Console,有沒有Exception,果不其然,異常見下 (CORS policy) 在跨域這個地方出了問題。

CORS

Cross-Origin Resource Sharing

意為跨域資源共享,當一個資源去訪問另一個不同域名或者同域名不同端口的資源時,就會發出跨域請求。如果此時另一個資源不允許其進行跨域資源訪問,那么訪問的那個資源就會遇到跨域問題。

同源策略的保護

源(origin):就是協議(http)、域名(localhost)、端口號(8080)

當源不同的時候就算跨域,就算僅僅只是端口號不同,跨域微服務架構中常見問題,如果沒有配置跨域,請求就會失敗。

跨域解決

1、在controller上加注解

@CrossOrigin(origins = {"http://localhost:4200","null"})

2、全局配置

package com.example.Default;import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;/*** Created by BLIT on 2020/8/19.*/ @Configuration @EnableWebMvc public class CorsConfig implements WebMvcConfigurer {@Overridepublic void addCorsMappings(CorsRegistry registry) {//設置允許跨域的路徑registry.addMapping("/**")//設置允許跨域請求的域名.allowedOrigins("*") //也可以指定域名 .allowedOrigins("http://192.168.0.0:8080","http://192.168.0.1:8081")//是否允許證書 不再默認開啟.allowCredentials(true)//設置允許的方法.allowedMethods("*")//跨域允許時間.maxAge(3600);}}
出現問題原因

看了上面那段跨域的介紹,就知道了,我前段項目的訪問地址是localhost:4200,后端提供的訪問接口是localhost:28089,這里端口號不一樣,所以出現同源跨域問題,需要使用上面兩種方法中的一種,建議第二種,方便快捷。

Access to XMLHttpRequest at 'http://localhost:28089/user/list' from origin 'http://localhost:4200' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource

總結

出現問題不要慌,解決問題就三板斧,第一步,快速定位問題;第二步分析問題;第三部選出最優的解決方案。最重要還有一點,盡量避免下次再遇到類似的問題

總結

以上是生活随笔為你收集整理的跨域 CORS policy的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。