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
免責聲明:藍藍設計尊重原作者,文章的版權歸原作者。如涉及版權問題,請及時與我們取得聯系,我們立即更正或刪除。

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

日歷

鏈接

個人資料

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

存檔

92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线
国产婷婷精品av在线| 国产欧美日韩一级| 亚洲国产电影| 精品欧美一区二区久久久伦| 久久一二三国产| 亚洲精品97久久| 国产一区二区福利视频| 国产精品高精视频免费| 久久99热只有频精品91密拍| 99久久久国产精品免费调教网站| 俄罗斯精品一区二区三区| 欧美精品18+| 台湾佬中文娱乐久久久| 一本一道久久a久久精品蜜桃| 欧美男男gaygay1069| 日韩欧美中字| 国产欧美日韩免费| 狠狠色狠色综合曰曰| 日韩av色综合| 亚洲自拍偷拍色片视频| 日本高清在线观看视频| 国产精品精品国产| 在线播放国产一区中文字幕剧情欧美| 日本最新高清不卡中文字幕| 国产精品激情| 电影一区二区在线观看| 国产精品国产精品国产专区不卡| 91极品美女在线| 欧美在线视频播放| 一区二区亚洲精品| 亚洲精品欧美精品| 经典三级久久| 精品无人乱码一区二区三区的优势| 亚洲人成人一区二区在线观看| 在线天堂资源| 一区二区三区视频网站| 欧美丰满日韩| 亚洲影音先锋| 最近高清中文在线字幕在线观看| 亚洲成av人片在线观看www| 欧美日韩岛国| 久久精品高清| 亚洲精品在线免费| 91国语精品自产拍| 欧美freesex黑人又粗又大| 国产日韩av在线播放| 亚洲国产成人91porn| 亚洲精品网站在线播放gif| 精品午夜一区二区三区| 国产精品高潮呻吟久久av无限| 国产精品专区h在线观看| 国产精品美女久久久免费| 婷婷伊人综合| 国产精品久久久久久久久久三级| 人交獸av完整版在线观看| 欧美精品一二三四| 日本在线视频www鲁啊鲁| 亚洲男女一区二区三区| 成人av网址在线| 午夜欧美激情| 女人让男人操自己视频在线观看| 小说区图片区图片区另类灬| 日韩国产精品久久久| 91人成网站www| 精品捆绑调教一区二区三区| 91香蕉视频污在线| 欧美精品少妇videofree| 日韩亚洲一区在线| 欧美中文字幕一区二区三区亚洲| av网站一区二区三区| 欧美国产一区二区在线观看| 日韩国产欧美视频| xxx欧美xxx| 久久综合九色综合久久久精品综合| 国产日韩中文在线| 五月激情综合婷婷| 亚洲成人动漫一区| 亚洲成人三区| 性欧美videos另类喷潮| 欧美人与性动交α欧美精品济南到| 秋霞一区二区三区| 久久精品人人做人人爽电影| 亚洲美女一区| 伊人久久大香线蕉av超碰| 国产精品视频一区视频二区| 日韩1区在线| 欧美福利影院| 国产成人一区二区三区小说| 久久国产小视频| 丝袜老师在线| 久久偷看各类wc女厕嘘嘘偷窃| 欧美亚洲日本黄色| 男女啪啪999亚洲精品| 97婷婷涩涩精品一区| 日韩电影在线观看一区| 精品国产精品自拍| 国产日韩欧美中文在线播放| 成年人在线视频| 在线国产精品播放| 亚洲aaa精品| 亚洲精品**中文毛片| 国产精品1区2区在线观看| 一本大道久久a久久综合婷婷| 成人动漫视频| 精品亚洲一区二区三区四区五区高| yw.139尤物在线精品视频| 亚洲欧洲日产国码av系列天堂| 日本小视频在线免费观看| 国产区精品视频| 另类的小说在线视频另类成人小视频在线| 日韩国产激情| 日本视频一区二区不卡| 日韩精品一区二区三区外面| 懂色av色香蕉一区二区蜜桃| 国产在线乱码一区二区三区| 欧美日本啪啪无遮挡网站| 福利在线免费视频| 肉丝袜脚交视频一区二区| 精品国产一区二区三区久久| 国产经典三级在线| 91国偷自产一区二区开放时间| 亚洲成人精品视频| 日韩精品色哟哟| 91精品亚洲一区在线观看| 国产女主播一区二区| 久久人人爽人人爽| 青青草原成人在线视频| 日本伊人久久| 日本激情一区| 九九热这里只有精品6| 亚洲剧情一区二区| 俺来俺也去www色在线观看| 国产一区在线播放| 日本黑人久久| 天天做天天爱天天爽综合网| 亚洲福利一区二区| 亚洲视频999| 国产精品色婷婷视频| 色吧亚洲视频| 欧美巨猛xxxx猛交黑人97人| 在线不卡免费av| 亚洲1区在线| 国产色婷婷亚洲99精品小说| 欧美精品国产精品| 欧洲成人综合网| 亚洲第一区第一页| 欧美激情一二三| 国产一区二区三区朝在线观看| 99re热这里只有精品视频| 一区二区三区在线视频播放| 999精品嫩草久久久久久99| 日本精品视频在线播放| www.亚洲人| 午夜激情在线| 国产欧美欧洲| 一区在线播放视频| 日韩av电影中文字幕| 亚洲国产精品专区久久| 最新欧美色图| 亚洲欧美影院| 国产伦理精品不卡| 欧美日韩日本网| 国产精品成人va在线观看| 91精品国产自产拍在线观看蜜|