91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

React如何解決fetch跨域請求時session失效問題

發布時間:2020-10-11 19:21:39 來源:腳本之家 閱讀:527 作者:RaoMeng 欄目:web開發

前言

fetch在reactjs中等同于 XMLHttpRequest,它提供了許多與XMLHttpRequest相同的功能,但被設計成更具可擴展性和高效性。

Fetch 的核心在于對 HTTP 接口的抽象,包括 Request,Response,Headers,Body,以及用于初始化異步請求的 global fetch。得益于 JavaScript 實現的這些抽象好的 HTTP 模塊,其他接口能夠很方便的使用這些功能;除此之外,Fetch 還利用到了請求的異步特性——它是基于 Promise 的。

請注意,fetch 規范與 jQuery.ajax() 主要有兩種方式的不同,牢記:

  • 當接收到一個代表錯誤的 HTTP 狀態碼時,從 fetch()返回的 Promise 不會被標記為 reject, 即使該 HTTP 響應的狀態碼是 404 或 500。相反,它會將 Promise 狀態標記為 resolve (但是會將 resolve 的返回值的 ok 屬性設置為 false ), 僅當網絡故障時或請求被阻止時,才會標記為 reject。
  • 默認情況下, fetch 不會從服務端發送或接收任何 cookies, 如果站點依賴于用戶 session,則會導致未經認證的請求(要發送 cookies,必須設置 credentials 選項).

發現問題

在解決fetch跨域請求接口的時候,一般都是讓后臺接口在返回頭里添加

//允許所有域名的腳本訪問該資源
header("Access-Control-Allow-Origin: *");

React如何解決fetch跨域請求時session失效問題

確實這樣是可以解決跨域請求的問題,但是如果我們要在請求的時候添加session,那么這樣設置就會出現問題了。

fetch添加Cookie驗證的方法是設置credentials: 'include'

fetch(url, {
  method: 'POST',
  body: JSON.stringify(params),
  mode: 'cors',
  //請求時添加Cookie
  credentials: 'include',
  headers: new Headers({
   'Accept': 'application/json',
   "Content-Type": "application/x-www-form-urlencoded; charset=utf-8",
  })
 })

設置好了之后,信心滿滿的發起請求。卻發現網絡請求報錯了

A wildcard '*' cannot be used in the 'Access-Control-Allow-Origin' header when the credentials flag is true. Origin 'http://localhost:3000' is therefore not allowed access

解決方法

原因是網絡請求需要攜帶Cookie時Access-Control-Allow-Origin是不能設置為*的,這個時候應該要給Access-Control-Allow-Origin指定域名

React如何解決fetch跨域請求時session失效問題

這樣就可以達到跨域請求的同時傳遞Cookie的目的了

  • 列表項目

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

东乌珠穆沁旗| 仙桃市| 高尔夫| 博乐市| 航空| 皋兰县| 安福县| 穆棱市| 柳河县| 阿拉善左旗| 灵寿县| 习水县| 寻乌县| 黄平县| 沙河市| 凤阳县| 合江县| 泾源县| 崇文区| 乌拉特后旗| 云梦县| 荔浦县| 和平县| 正安县| 嘉禾县| 兰考县| 莒南县| 南靖县| 额尔古纳市| 宁城县| 九寨沟县| 乐至县| 柳林县| 社会| 阳春市| 鹰潭市| 甘谷县| 修水县| 昌宁县| 裕民县| 南靖县|