1. 程式人生 > >【分享】記一次前端跨域請求後臺無法set-cookie經歷

【分享】記一次前端跨域請求後臺無法set-cookie經歷

cookie都設不了,接下來還怎麼開發?

環境重構:

        1、後端前端分離(即後端和前端不在同一個專案形成跨域請求)

        2、前端 AJAX 請求

        3、後端使用的是Java、伺服器使用的是Tomcat(後端用什麼語言估計都一樣)

需求:

        1、總之就是要設定一個cookie給前端,通過這個cookie做後續工作。

        2、我是因為要用到shiro所以必須要設定cookie。

問題描述:

        當我們從 A網站 AJAX訪問 B伺服器 時,預設是不可以訪問的,因為違反了瀏覽器同源策略。但是現在解決這個問題的方法很普遍了,可以去搜一下解決方案,這裡遇到的問題是,當 A網站 AJAX訪問 B伺服器 時,B伺服器試圖在響應中給A網站設定cookie資訊,告訴A網站要將這個cookie存起來,瀏覽器當然是沒有成功。

問題思考:

        當使用chrome這樣的瀏覽器,當然F12是第一反應,這時候會發現我的請求成功了,並且200響應回來了,仔細檢視後會發現,在響應中有set-cookie屬性並且有值,這個值正是後臺試圖給前端設定的cookie值。瀏覽器實際上是接收到cookie值,但是這個cookie並沒有設定到本地。

問題解決:

        這個現象應該屬於跨域設定cookie的問題,網上很多解決方案都是在ajax請求上加上一個屬性,後臺也要設定響應頭屬性,這裡就不說這個方法了,我也沒試過成不成。

        還有一種現象就如我這樣,使用的是tomcat部署java服務通常會在地址後面帶上專案名,例如:www.A.com 訪問伺服器 www.B.com/MyProjectName。

        因為看了一篇文章url: http://blog.csdn.net/zhouziyu2011/article/details/61200943,不是很懂,但是我後來將伺服器的專案名給去掉了,就是直接訪問www.B.com即可以訪問伺服器,cookie就設定成功了。

相關推薦

分享前端請求後臺無法set-cookie經歷

cookie都設不了,接下來還怎麼開發? 環境重構:         1、後端前端分離(即後端和前端不在同一個專案形成跨域請求)         2、前端 AJAX 請求         3、後端使

troubleshootingKafka集群重啟導致消息重復消費問題處理記錄

進程 pid 導致 set pic 方法 sum tails log 因需要重啟了Kafka集群,重啟後發現部分topic出現大量消息積壓,檢查consumer日誌,發現消費的數據竟然是幾天前的。由於平時topic消息基本上無積壓,consumer消費的數據都是最新的,明顯

國慶mysqld_safe引發mysql進程故障

更新mysql 小結 未能 should sta 服務 tro boot 競爭力 今天是舉國歡慶的日誌,身為奮青的我,學習和工作,首日計劃安排必須是學習任務呀;但是今天心血來潮,Mariadb密碼忘記了,於是巴拉巴拉的執行"mysqld_safe --skip-grant-

Canvas 設定 overrideSorting 失敗

我們專案裡也遇到過。  UI的prefab 載入後onEnable裡 設定上面canvas的 overrideSorting 沒有效果。  原來prefab 載入後已經觸發onEnable了, 但此時還沒掛載到UI的Canvas下面。https://www.cnblog

本人禿頂程式設計師生產資料庫"意外"重啟的經歷

←←←←←←←←←←←← 我都禿頂了,還不點關注! 前言 在一個陽光明媚的下午,電腦右下角傳來一片片郵件提醒,同時伴隨著微信釘釘的震動,開啟一看,應用各種出錯,天兔告警,資料庫伺服器記憶體爆紅,Mysql資料庫例項掛掉了。 排查 先交代一下資料庫版本: mysql&

linuxhttpd服務正常,http不能訪問的慘痛教訓

記一次httpd服務啟動正常,http服務死活不能訪問的問題記錄。 1.在linux下,使用ps和grep檢視httpd服務 # ps aux | grep httpd root 7579 0.0 0.0 3872 656 pts/1

SQLServer資料遷移-標識重複的簡單處理

今天在資料遷移的時候因為手賤遇到一個坑爹問題,發來大家樂樂,也傳授新手點經驗 遷移慣用就是臨時表或者新庫,經常用的語法有很多,這次主要說的是這個:select * into 資料庫名..表名 from xxx 先不扯了,先看錯誤: 趕緊看看是不是資料重複~事實證明,木有重複資料。。。 有人

面試A公司線上程式設計面試

面試之前準備了很多諸如生產者消費者,ABC問題,手擼LRU啊,負載均衡演算法啊。。 結果題目一來感覺自己被辜負了,2333 措手不及,有點小緊張… 兩道leetCode easy(我感覺)難度的題目。。 後記,得知掛了。但我一頭霧水不知道掛在哪?

加密網頁html的研究

某次web程式設計,思考著辛辛苦苦編寫的web別人 右鍵檢視原始碼不就一目瞭然了?當然有些人會把script寫入外部js引入,但也只是增加了檢視原始碼的步驟。我就想把整個頁面html都加密下,只是右鍵檢視時,看不出程式碼。那麼是否可行?用哪種方法? 首先html程式碼的動態

matlab微信聊天文字記錄匯出到Excel工作

其實一直想把我和她的微信聊天記錄匯出到文字,整理出來拿出來翻翻,然後再查閱了大量網路資料後,我成功的將我和她的聊天記錄整理成excel的形式,如下所示: 那麼我們開始。 一、工具準備(蘋果手機也可,在文末) 1、root的安卓手機,裝有微信。 2、

圖解手撕演算法面試:位元組跳動的面試官把我四連擊了

位元組跳動這家公司,應該是所有秋招的公司中,對演算法最重視的一個了,每次面試基本都會讓你手撕演算法,今天這篇文章就記錄下當時被問到的幾個演算法題,並且每個演算法題我都詳細著給出了最優解,下面再現當時的面試場景。看完一定讓你有所收穫 一、小牛試刀:有效括號 大部分情況下,面試官都會問一個不怎麼難的問題,不過你千

MySQL線上重大事故:二狗子竟然把線上資料庫刪了!!

## 寫在前面 > 估計二狗子這幾天是大姨夫來了,心情很鬱悶,情緒也很低落,工作的時候也有點心不在焉。讓他發個版本,結果,一行命令下去把線上的資料庫刪了!你沒聽錯:是刪掉了線上的資料庫!運營那邊頓時炸了鍋:怎麼回事?系統不能訪問了!什麼情況啊?!很多客戶都在投訴了!! ># > 儘管運營那

ajax訪問後,session失效

事情的起因是這樣的,我司我A、B兩個專案要上線,暫時部署到同一臺伺服器上進行測試,其中A專案中有一個地方,要去訪問B專案中提供的介面,得到B提供的資料再去A專案中進行相關操作,jsp頁面如下 出現

jQuery呼叫JSON資料的例子

最近幫朋友做個小工具,試圖從"天天基金網(http://fund.eastmoney.com)"上獲取相應基金程式碼的一些收益率資料,通過分析發現網站首頁的搜尋基金程式碼真實的請求路徑是一個js:http://fundgz.1234567.com.cn/js/002624.j

unity實用技能失敗的藍圖接口開發失敗經驗

返回值 。。 cat you 值類型 fff nts cor oci 本來想寫一個批量控制widget開關的接口,想寫一個像append一樣的可加pin的接口 首先還是找到這個接口得代碼 可以看到關鍵的點就是 CommutativeAssociativeBinaryOper

BUG記錄遊戲越來越卡的BUG

U3D的MOBA專案,測試過程中,10分鐘以後,遊戲幀率開始緩慢下降,約3-5分鐘後,由60幀下降到小於10幀,編輯器模式。 開啟profiler,看到CPU佔用非常高,每幀都有24K的GC, 時間佔用曲線上看是script大量佔用CPU時間。 第一印象,應該是洩漏造成的。定位辦法,profil

工具推薦水印製作流程

0. 說明   每次畫完架構圖和流程圖,總覺得少了一些什麼   不想要單純的文字水印,也沒找到合適的工具   真的好想擁有一款自己的水印   為每一張圖新增自己的專屬記號   然後就有了以下的嘗試   1. 確定水印   在知乎上看到一個回答,解決了我的這個問題   傳送門

報錯記錄Springboot 打包jar後放在伺服器上執行失敗的排錯

使用mvn package -DSkipTests打包成jar包,然後上傳到伺服器。執行java -jar XXX.jar --env=pro後丟擲: [localhost-startStop-1] ERROR o.s.boot.web.embedded.tomcat.TomcatStart

運維上線前的緊急定位與修復-獻上九條小經驗

1 簡介 本文介紹了作者所在團隊在某次上線前測試發現問題、定位問題並修復上線的過程,最後給出幾點經驗總結,希望對大家有用。 2 過程 (1)今天需要上線,但昨晚才合併了所有分支,時間很緊迫。不幸的是,打包測試後發現有一個Springboot應用(模組R)啟動失敗,但程序沒有死,一直在輸出報錯日誌。 (2)Go

年前最後波裝逼阿里面試,我是如何用一行程式碼解決約瑟夫環問題的

約瑟夫環問題算是很經典的題了,估計大家都聽說過,然後我就在一次筆試中遇到了,下面我就用 3 種方法來詳細講解一下這道題,最後一種方法學了之後保證讓你可以讓你裝逼。 問題描述:編號為 1-N 的 N 個士兵圍坐在一起形成一個圓圈,從編號為 1 的士兵開始依次報數(1,2,3...這樣依次報),數到 m 的 士