Spring boot 和Vue開發(fā)中CORS跨域問題解決
跨域資源共享CORS(Cross-origin Resource Sharing),是W3C的一個(gè)標(biāo)準(zhǔn),允許瀏覽器向跨源的服務(wù)器發(fā)起XMLHttpRequest請(qǐng)求,克服ajax請(qǐng)求只能同源使用的限制。關(guān)于CORS的詳細(xì)解讀,可參考阮一峰大神的博客:跨域資源共享CORS詳解。
1. 遇到的問題:
我用spring-boot 做Rest服務(wù),Vue做前端框架,用了element-admin-ui這個(gè)框架做后臺(tái)管理。在調(diào)試的過程中遇到了如下錯(cuò)誤:
Preflight response is not successful
2. 分析問題
這個(gè)問題是典型的CORS跨域問題。
所謂跨域:
跨域,指的是瀏覽器不能執(zhí)行其他網(wǎng)站的腳本。它是由瀏覽器的同源策略造成的,是瀏覽器對(duì)JavaScript施加的安全限制。
3. 解決方法
在項(xiàng)目中添加類CustomCORSConfiguration 代碼如下:
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
/**
* @author spartajet
* @description
* @create 2018-05-15 下午5:00
* @email spartajet.guo@gmail.com
*/
@Configuration
public class CustomCORSConfiguration {
private CorsConfiguration buildConfig() {
CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.addAllowedOrigin("*");
corsConfiguration.addAllowedHeader("*");
corsConfiguration.addAllowedMethod("*");
corsConfiguration.setAllowCredentials(true);
return corsConfiguration;
}
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", buildConfig());
return new CorsFilter(source);
}
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- vue+springboot實(shí)現(xiàn)項(xiàng)目的CORS跨域請(qǐng)求
- 詳解springboot設(shè)置cors跨域請(qǐng)求的兩種方式
- Springboot處理CORS跨域請(qǐng)求的三種方法
- 基于SpringBoot解決CORS跨域的問題(@CrossOrigin)
- 詳解springboot解決CORS跨域的三種方式
- Springboot處理配置CORS跨域請(qǐng)求時(shí)碰到的坑
- Springboot跨域CORS處理實(shí)現(xiàn)原理
- SpringBoot跨域Jsonp和Cors的方法
- Spring Boot如何通過CORS處理跨域問題
- springboot跨域CORS處理代碼解析
- SpringBoot使用CORS實(shí)現(xiàn)無(wú)縫跨域的方法實(shí)現(xiàn)
相關(guān)文章
把vue-router和express項(xiàng)目部署到服務(wù)器的方法
下面小編就為大家分享一篇把vue-router和express項(xiàng)目部署到服務(wù)器的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-02-02
推薦一款簡(jiǎn)易的solid?js消息UI庫(kù)使用詳解
這篇文章主要為大家介紹了推薦一款簡(jiǎn)易的solid-js消息UI庫(kù)使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
Vue項(xiàng)目從webpack3.x升級(jí)webpack4不完全指南
前段時(shí)間,泡面將自己的一個(gè)Vue-cli構(gòu)建的前端框架從webpack3.x升級(jí)到了4.x版本,現(xiàn)在才拉出來記錄一下,已備忘之用,也和大家分享一下,需要的朋友可以參考下2019-04-04
通過vue提供的keep-alive減少對(duì)服務(wù)器的請(qǐng)求次數(shù)
這篇文章主要介紹了通過vue提供的keep-alive減少對(duì)服務(wù)器的請(qǐng)求次數(shù),文中給大家補(bǔ)充介紹了vue路由開啟keep-alive時(shí)的注意點(diǎn),需要的朋友可以參考下2018-04-04

