日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

跨域请求设置withCredentials

發(fā)布時(shí)間:2025/7/25 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 跨域请求设置withCredentials 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

  最近在做運(yùn)動(dòng)城項(xiàng)目,這一個(gè)項(xiàng)目下面有多個(gè)子項(xiàng)目,如主數(shù)據(jù)項(xiàng)目,pos項(xiàng)目等。主數(shù)據(jù)項(xiàng)目的域名為www.topmall.com,POS項(xiàng)目的域名為pos.topmall.com。即兩個(gè)項(xiàng)目的主域名相同,子域名不相同。

  我們的登陸認(rèn)證是放在主數(shù)據(jù)項(xiàng)目的,即進(jìn)入POS項(xiàng)目如果檢測未登陸,是先要調(diào)用主數(shù)據(jù)的一個(gè)登陸接口登陸后才可以訪問的。這時(shí)候跨域問題就出現(xiàn)了,進(jìn)入POS項(xiàng)目之后跳出登陸框,輸入用戶名密碼請求主數(shù)據(jù)的http://www.topmall.com/signin進(jìn)行登陸,看到返回的response里面也有Set-cookie,但是再次請求POS項(xiàng)目的http://pos.topmall.com/pos/cashier/info 資源時(shí)卻報(bào)錯(cuò)了。調(diào)試進(jìn)去看發(fā)現(xiàn)后臺(tái)獲取不到當(dāng)前登陸的用戶,查看請求頭發(fā)現(xiàn)并沒有把登陸時(shí)返回的cookies設(shè)置到第二次請求的頭里面。

  查詢資料才知道登陸請求的主數(shù)據(jù)項(xiàng)目與POS項(xiàng)目不屬于同一個(gè)子域,即存在跨域,跨域請求想要帶上cookies必須在請求頭里面加上{crossDomain: true, xhrFields: {withCredentials: true}}設(shè)置,于是在index界面加上了如下代碼:

<script>$(function () { //, headers: { 'x-requested-with': 'XMLHttpRequest' }$.ajaxSetup({crossDomain: true, xhrFields: {withCredentials: true}});});</script>

  然后在后臺(tái)代碼返回response時(shí)做如下處理:

private boolean recharge(HttpServletRequest request, HttpServletResponse response) throws Exception {String url = request.getHeader("Origin");logger.debug("Access-Control-Allow-Origin:" + url);if (!StringUtils.isEmpty(url)) {String val = response.getHeader("Access-Control-Allow-Origin");if (StringUtils.isEmpty(val)) {response.addHeader("Access-Control-Allow-Origin", url);response.addHeader("Access-Control-Allow-Credentials", "true");}}return true;}

  

再次訪問,發(fā)現(xiàn)請求頭已經(jīng)可以攜帶cookies。

轉(zhuǎn)載于:https://www.cnblogs.com/zhangcybb/p/6594991.html

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的跨域请求设置withCredentials的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。