跨域问题处理
一?為什么有跨域問(wèn)題
跨域不一定都會(huì)有跨域問(wèn)題。
因?yàn)榭缬騿?wèn)題是瀏覽器對(duì)于 ajax 請(qǐng)求的一種安全限制:一個(gè)頁(yè)面發(fā)起的 ajax 請(qǐng)求,只能是與當(dāng)前頁(yè)域名相同的路徑,這能有效的阻止跨站攻擊。
因此:跨域問(wèn)題是針對(duì) ajax 的一種限制。
但是這卻給我們的開(kāi)發(fā)帶來(lái)了不便,而且在實(shí)際生產(chǎn)環(huán)境中,肯定會(huì)有很多臺(tái)服務(wù)器之間交互,地址和端口都可能不同,需要解決。
二?解決方案
1?增加全局配置類
package com.baiyee.sdgt.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.reactive.CorsWebFilter; import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource; import org.springframework.web.util.pattern.PathPatternParser;@Configuration public class CorsConfig {@Beanpublic CorsWebFilter corsFilter() {CorsConfiguration config = new CorsConfiguration();config.addAllowedMethod("*");config.addAllowedOrigin("*");config.addAllowedHeader("*");UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser());source.registerCorsConfiguration("/**", config);return new CorsWebFilter(source);} }2?將在 controller 類上添加過(guò) @CrossOrigin 標(biāo)簽的去掉,防止程序異常
目前我們已經(jīng)在網(wǎng)關(guān)做了跨域處理,那么 service 服務(wù)就不需要再做跨域處理了。
三?前后端聯(lián)調(diào)
?
總結(jié)
- 上一篇: 异或门HEF4070BT/CD4070B
- 下一篇: 中国科学技术大学大学计算机学院,张俊霞