92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线

SpringBoot與Vue交互解決跨域問題

2021-10-9    前端達人

Hello,你好呀,我是灰小猿,一個超會寫bug的程序猿!

最近在利用springboot+vue整合開發一個前后端分離的個人博客網站,所以這一篇總結一下在開發中遇到的一個問題,關于解決在使用vue和springboot在開發前后端分離的項目時,如何解決跨域問題。在這里分別分享兩種方法,分別在前端vue中解決和在后臺springboot中解決。

瀏覽器同源策略

為什么會出現跨域問題? 首先一個定義一定要了解,就是瀏覽器的同源策略,

什么是瀏覽器的同源策略, 簡單來說就是瀏覽器發送請求的協議、域名和端口要和服務器接收請求的協議、域名以及端口一致。這樣才能完成交互,但是很顯然這樣是不可能的,尤其在對于在同一臺電腦上開發前后端分離的項目的時候,一定是會使用兩個端口的。那么這樣就形成了跨域問題。

在這里分享一下我解決跨域問題用到的兩個方法,

一、VUE前端配置代理解決跨域

(1)Vue中讓瀏覽器請求攜帶cookie

先說一下我是怎么發現出現跨域問題的吧,最開始我在從前端瀏覽器向后臺發送請求的時候是沒有攜帶瀏覽器的cookie的,但是這樣就導致了無法對瀏覽器的請求進行驗證,所以在后來我用了一個方法讓瀏覽器在每次發送請求的時候在http請求頭中攜帶上cookie,方法如下:

在vue的main.js方法中寫入如下代碼:

//引入axios依賴 import axios from 'axios' //讓請求攜帶上瀏覽器的cookie axios.defaults.withCredentials=true Vue.prototype.$axios = axios 
  • 1
  • 2
  • 3
  • 4
  • 5

以上表示引入axios請求,也就是ajax請求,同時開啟寫入憑證,只有withCredentials等于true的時候,才會攜帶cookie。

(2)vue中配置代理解決跨域

在vue中解決跨域問題其實也比較簡單,因為我們每次瀏覽器發送的請求中,URL的前半部分一定是相同的,比如http://localhost:8080/blogs與http://localhost:8080/login,我們就可以將他們相同的URL提取出來,封裝到axios.defaults.baseURL中,這樣我們在每次請求的時候,就可以將請求地址簡寫成“/blogs”這樣,也相當于是將URL頭部進行了一個簡單的封裝。

注意:設置統一請求路徑的axios.defaults.baseURL =
"http://localhost:8080"應該寫在axios.js中

但是在解決跨域問題的時候,我們應該將axios.defaults.baseURL = "http://localhost:8080"寫成axios.defaults.baseURL = “/api”。
這樣我們每次請求的路徑前面都會是“/api”的形式。
這也是第一步:

第一步,設置統一訪問路徑

在axios.js中設置axios.defaults.baseURL = "http://localhost:8080"寫成axios.defaults.baseURL = "/api"

第二步、配置跨域代理

在babel.config.js的同級目錄下新建一個js文件vue.config.js
在這里插入圖片描述

在其中寫入如下代碼:這段代碼是解決跨域問題而配置的一個代理。我這里后臺服務器的請求連接是http://localhost:8081,所以如果你的不是的話需要修改一下。

/**
 * 解決跨域問題
 * @type {{devServer: {proxy: {"/api": {changeOrigin: boolean, pathRewrite: {"^/api": string}, target: string}}, host: string, open: boolean}}}
 */ module.exports = { devServer: { host: 'localhost', open: true, // 自動打開瀏覽器 // 代理配置表,在這里可以配置特定的請求代理到對應的API接口 // 例如將'localhost:8080/api/xxx'代理到'www.example.com/api/xxx' proxy: { '/api': { // 匹配所有以 '/api'開頭的請求路徑 target: 'http://localhost:8081', // 代理目標的基礎路徑 // secure: false,  // 如果是https接口,需要配置這個參數 changeOrigin: true, // 支持跨域 pathRewrite: { // 重寫路徑: 去掉路徑中開頭的'/api' '^/api': '' } } } } } 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

第三步、測試請求

如我們現在要發送login登錄請求,那么請求應該是這樣寫的:

this.$axios.post("/login") 
  • 1

二、springboot后端配置解決跨域

在springboot框架的后端想要解決跨域問題,只需要添加一個類CorsConfig,并且讓它實現WebMvcConfigurer接口, 其中代碼如下,一般在開發的時候直接將代碼復制過去就可以了。

 import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /**
 * 解決跨域問題
 */ @Configuration public class CorsConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedOriginPatterns("*") .allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS") .allowCredentials(true) .maxAge(3600) .allowedHeaders("*"); } } 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

以上我解決跨域的兩種方法,在網上也查找了很多解決跨域的方法,但是錯綜復雜,經過嘗試和自己研究,以上兩種方法是我親測成功的,當時前后端都配置了。

所以小伙伴們有不同的見解或者更好的方法,歡迎提出指正!

我是灰小猿,我們下期見!











































藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請掃碼藍小助,報下信息,藍小助會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務合作,也請與我們聯系。

分享此文一切功德,皆悉回向給文章原作者及眾讀者.

轉自:csdn
免責聲明:藍藍設計尊重原作者,文章的版權歸原作者。如涉及版權問題,請及時與我們取得聯系,我們立即更正或刪除。

藍藍設計www.skdbbs.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務

日歷

鏈接

個人資料

藍藍設計的小編 http://www.skdbbs.com

存檔

92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线
欧美性少妇18aaaa视频| 欧美日韩中文字幕在线视频| 欧美福利在线观看| 亚洲国产成人精品久久| 久久6精品影院| 国产99视频在线观看| 91精品国产高清自在线| 亚洲在线第一页| 狠狠躁夜夜躁人人爽天天天天97| 欧美日韩中文字幕在线视频| 人人做人人澡人人爽欧美| 在线观看国产欧美| 黑人巨大精品欧美一区二区三区| 亚洲国产一区二区三区四区| 911国产网站尤物在线观看| 中文字幕综合在线| 欧美日韩第一页| 精品高清美女精品国产区| 欧美高清视频在线播放| 一夜七次郎国产精品亚洲| www.久久撸.com| 日韩av在线最新| 亚洲人午夜色婷婷| 精品无人区太爽高潮在线播放| 在线播放国产一区二区三区| 国产精品白丝jk喷水视频一区| 中文欧美日本在线资源| 亚洲人成电影网站| 亚洲精品狠狠操| 国产精品免费小视频| 欧美激情视频播放| 粉嫩av一区二区三区免费野| 亚洲va欧美va国产综合久久| 亚洲曰本av电影| 国产精品久久97| 日韩有码片在线观看| 亚洲精品资源美女情侣酒店| 97久久伊人激情网| 欧美激情精品久久久久| 国产精品草莓在线免费观看| 国产精品最新在线观看| 国产精品十八以下禁看| 日韩在线小视频| 97在线看免费观看视频在线观看| 欧美日韩国产精品专区| 亚洲精品福利免费在线观看| 久久99精品久久久久久青青91| 日韩中文娱乐网| 日韩精品亚洲视频| 庆余年2免费日韩剧观看大牛| 岛国av午夜精品| 欧美性高跟鞋xxxxhd| 在线免费观看羞羞视频一区二区| 日韩h在线观看| 亚洲无限乱码一二三四麻| 热草久综合在线| 亚洲人成网站免费播放| 超碰精品一区二区三区乱码| 国产成人极品视频| 国产欧美一区二区三区四区| 欧美疯狂xxxx大交乱88av| 国产精品wwww| 精品久久久在线观看| 欧美一级bbbbb性bbbb喷潮片| 国产精品私拍pans大尺度在线| 欧美第一黄网免费网站| 亚洲视频一区二区三区| 热草久综合在线| 成人h片在线播放免费网站| 国产精品中文字幕久久久| 中文在线不卡视频| 亚洲91av视频| 亚洲精品一区中文字幕乱码| 亚洲精品一区二区网址| 日韩欧美成人网| 中文字幕精品av| 午夜精品在线视频| 亚洲国产成人在线播放| 日韩欧美成人免费视频| 国产精品户外野外| 川上优av一区二区线观看| 97在线精品国自产拍中文| 色婷婷成人综合| 成人精品视频99在线观看免费| 亚洲综合社区网| 国产精品一区二区三区成人| 日韩欧美在线看| 日韩视频亚洲视频| 久久久成人av| 亚洲最大的网站| 久久久精品免费视频| 国产精品久久久久国产a级| 日韩美女免费观看| 亚洲精品二三区| 亚洲人成网站777色婷婷| 国产日韩精品综合网站| 久热在线中文字幕色999舞| 中文字幕在线精品| 久久香蕉精品香蕉| 久久亚洲精品一区| 日韩欧美在线视频观看| 亚洲一区二区久久久| 美女国内精品自产拍在线播放| 日韩高清免费观看| 欧美激情综合亚洲一二区| 欧美精品在线极品| 午夜剧场成人观在线视频免费观看| 欧美高清无遮挡| 97国产精品视频人人做人人爱| 日韩电影中文字幕av| 国产福利精品av综合导导航| 久久久久日韩精品久久久男男| 久久综合五月天| 2018中文字幕一区二区三区| 92国产精品视频| 国产成人+综合亚洲+天堂| 精品一区二区三区四区在线| 色综合色综合久久综合频道88| 国产一区二区三区网站| 91美女片黄在线观看游戏| 中文字幕久精品免费视频| 亚洲理论片在线观看| 国产精品激情av电影在线观看| 亚洲老板91色精品久久| 国产日韩欧美视频| 国产欧美日韩精品丝袜高跟鞋| 亚洲第一综合天堂另类专| 国产福利精品在线| 中文字幕亚洲在线| 亚洲综合精品伊人久久| 97视频色精品| 欧美在线不卡区| 久久久国产成人精品| 中文字幕日韩av电影| 国产成人精品优优av| 亚洲成人a**站| 久久国内精品一国内精品| 欧美日韩一区二区免费在线观看| 久久夜色精品国产亚洲aⅴ| 亚洲精品国产综合区久久久久久久| 欧美性猛交xxxxx水多| 欧亚精品在线观看| 欧美一级片免费在线| 黑人极品videos精品欧美裸| 亚洲日韩第一页| 这里只有精品在线播放| 97在线视频免费观看| 最近2019中文字幕在线高清| 欧美激情亚洲一区| 精品福利在线视频| 2018日韩中文字幕| 日韩视频免费在线| 亚洲最大成人免费视频| 久久色在线播放| 91精品国产高清久久久久久91| 亚洲一区中文字幕在线观看| 美日韩丰满少妇在线观看| 国产有码一区二区| 亚洲a区在线视频| 中文字幕欧美专区| 在线观看日韩欧美| 97国产suv精品一区二区62| 91天堂在线观看| 高清一区二区三区日本久|