99久久精品国产片-99久久精品国产免费-99久久精品国产麻豆-99久久精品国产国产毛片-99久久精品国产高清一区二区-99久久精品费精品国产一区二区

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.lapeinture.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務

日歷

鏈接

個人資料

藍藍設計的小編 http://www.lapeinture.cn

存檔

日韩在线观看视频网站| 精品视频免费在线| 毛片高清| 日韩专区一区| 尤物视频网站在线| 国产福利免费观看| 欧美一区二区三区在线观看| 青青久在线视频| 国产欧美精品午夜在线播放| 欧美国产日韩精品| 黄视频网站在线观看| 日本免费乱理伦片在线观看2018| 91麻豆高清国产在线播放| 日韩一级精品视频在线观看| 精品视频在线观看一区二区| 九九久久国产精品大片| 国产极品精频在线观看| 亚洲精品永久一区| 亚欧视频在线| 黄视频网站免费| 久久福利影视| 免费国产一级特黄aa大片在线| 成人免费观看的视频黄页| 国产福利免费视频| 亚洲爆爽| 国产一区二区精品久久91| 日本伦理黄色大片在线观看网站| 日韩一级黄色| 超级乱淫伦动漫| a级精品九九九大片免费看| 久久精品大片| 国产亚洲免费观看| 国产精品自拍亚洲| 精品国产亚一区二区三区| 国产麻豆精品视频| 久久国产一久久高清| 日本伦理片网站| 午夜在线亚洲| 久久成人综合网| 999精品视频在线| 久久福利影视| 日日夜人人澡人人澡人人看免| 精品久久久久久中文字幕一区 | 亚洲第一页乱| 日韩在线观看免费完整版视频| 欧美激情一区二区三区在线| 久久99中文字幕久久| 你懂的福利视频| 欧美激情一区二区三区视频| 国产综合91天堂亚洲国产| 九九九网站| 国产高清在线精品一区a| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 国产伦精品一区三区视频| 日日日夜夜操| 欧美日本免费| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 人人干人人草| 香蕉视频一级| 韩国毛片| 欧美激情一区二区三区在线播放 | 国产精品自拍在线观看| 欧美激情一区二区三区在线播放 | a级毛片免费全部播放| 欧美激情一区二区三区在线播放 | 一级女性大黄生活片免费| 日韩男人天堂| 亚洲第一色在线| 亚欧视频在线| 美女免费毛片| 麻豆系列 在线视频| 四虎影视久久久| 一本高清在线| 久草免费在线色站| 久久国产精品自线拍免费| 高清一级片| 国产麻豆精品| 欧美激情一区二区三区在线 | 亚洲 国产精品 日韩| 国产一级生活片| 韩国三级视频在线观看| 国产成人精品综合在线| 免费一级片在线| 精品久久久久久免费影院| 日韩在线观看视频网站| 青草国产在线| 中文字幕97| 日本免费乱人伦在线观看| 黄色福利片| 国产a毛片| 日本伦理片网站| 一级片片| 国产视频久久久久| 精品久久久久久中文字幕一区| 国产91丝袜高跟系列| 精品久久久久久中文字幕一区| 欧美1区| 成人免费观看男女羞羞视频| 免费毛片基地| 国产一区二区精品久久91| 成人av在线播放| 国产麻豆精品视频| 香蕉视频一级| 一级毛片视频免费| 四虎影视精品永久免费网站 | 麻豆网站在线看| 你懂的日韩| 高清一级片| 国产综合成人观看在线| 韩国妈妈的朋友在线播放| 久久国产精品自由自在| 欧美国产日韩精品| 成人高清免费| 亚洲 男人 天堂| 欧美激情一区二区三区在线| 欧美1卡一卡二卡三新区| 日韩中文字幕一区| 国产成人啪精品| 成人免费观看的视频黄页| 欧美激情在线精品video| 成人免费网站视频ww| 精品国产一区二区三区免费 | 免费国产在线观看| 色综合久久天天综线观看| 欧美a级片免费看| 国产91素人搭讪系列天堂| 毛片高清| 免费毛片基地| 国产网站免费观看| 香蕉视频久久| 国产一区二区精品久久91| 久久国产一久久高清| 成人影视在线观看| a级毛片免费观看网站| 可以免费看污视频的网站| 亚洲天堂免费| 国产伦精品一区二区三区在线观看| 天堂网中文在线| 午夜在线亚洲| 欧美爱爱网| 国产成人女人在线视频观看 | 欧美大片一区| 国产综合91天堂亚洲国产| 二级特黄绝大片免费视频大片| 亚洲www美色| 精品国产一级毛片| 精品视频一区二区三区免费| 在线观看成人网| 色综合久久天天综合绕观看| 国产一区二区精品久久91| 91麻豆精品国产自产在线| 久久精品欧美一区二区| 超级乱淫黄漫画免费| 久久国产影院| 久久99中文字幕久久| 久久成人综合网| a级毛片免费观看网站| 午夜家庭影院| 精品久久久久久免费影院| 九九精品久久| 精品久久久久久免费影院| 999精品在线| 久久精品店| 久草免费在线视频| 91麻豆精品国产片在线观看| 国产原创中文字幕| 天堂网中文字幕| 久久99这里只有精品国产| 精品视频在线观看一区二区| 美国一区二区三区| 午夜家庭影院| 天堂网中文字幕| 国产一区二区精品久久91| 91麻豆精品国产综合久久久| 欧美爱爱网| 日本免费乱理伦片在线观看2018| 亚洲 激情| 欧美一区二区三区在线观看| 国产不卡高清| 成人免费观看网欧美片| 国产不卡在线播放| 成人a大片高清在线观看| 日本伦理黄色大片在线观看网站| 免费的黄视频| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 黄色短视频网站| 在线观看成人网| 二级特黄绝大片免费视频大片| 国产91精品系列在线观看| 一级女性大黄生活片免费| 亚洲 激情| 免费一级生活片| 国产a视频精品免费观看| 九九精品影院| 精品国产亚一区二区三区| 国产麻豆精品免费密入口| 精品视频一区二区三区| 台湾毛片| 青青青草影院| 日韩中文字幕在线播放|