最近在學習一個前后端分離的專案,有一個需求是:后端生成驗證碼,并保存在session中,
但是會存在一些問題,因為不同源,所以存在跨域,導致cookie不能被后端接收到,從而導致無法使用session,后來查閱資料解決了,特此記錄一些,
后端需要允許跨域,全域配置:
@Configuration
public class CorsConfig implements WebMvcConfigurer {
@Override
public void addCorsMappings(CorsRegistry registry) {
//設定允許跨域的路徑
registry.addMapping("/**")
//是否允許證書,不再默認開啟
.allowCredentials(true)
.allowedOrigins("http://localhost:8080")
//設定允許的方法
.allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE")
//跨域允許時間
.maxAge(3600);
}
}
后端允許跨域還不行,前端也必須配置,因為跨域請求下,請求并不會攜帶cookie,
因為我前端使用的是vue + axios ,所以配置如下:
import $http from 'axios'
$http.defaults.withCredentials=true;
至此,跨域問題完全解決了,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/413476.html
標籤:其他
上一篇:前端入門(雨滴特效)
