最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

React如何解決fetch跨域請(qǐng)求時(shí)session失效問(wèn)題

 更新時(shí)間:2018年11月02日 14:08:11   作者:RaoMeng  
這篇文章主要給大家介紹了關(guān)于React如何解決fetch跨域請(qǐng)求時(shí)session失效問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

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

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

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

  • 當(dāng)接收到一個(gè)代表錯(cuò)誤的 HTTP 狀態(tài)碼時(shí),從 fetch()返回的 Promise 不會(huì)被標(biāo)記為 reject, 即使該 HTTP 響應(yīng)的狀態(tài)碼是 404 或 500。相反,它會(huì)將 Promise 狀態(tài)標(biāo)記為 resolve (但是會(huì)將 resolve 的返回值的 ok 屬性設(shè)置為 false ), 僅當(dāng)網(wǎng)絡(luò)故障時(shí)或請(qǐng)求被阻止時(shí),才會(huì)標(biāo)記為 reject。
  • 默認(rèn)情況下, fetch 不會(huì)從服務(wù)端發(fā)送或接收任何 cookies, 如果站點(diǎn)依賴于用戶 session,則會(huì)導(dǎo)致未經(jīng)認(rèn)證的請(qǐng)求(要發(fā)送 cookies,必須設(shè)置 credentials 選項(xiàng)).

發(fā)現(xiàn)問(wèn)題

在解決fetch跨域請(qǐng)求接口的時(shí)候,一般都是讓后臺(tái)接口在返回頭里添加

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

確實(shí)這樣是可以解決跨域請(qǐng)求的問(wèn)題,但是如果我們要在請(qǐng)求的時(shí)候添加session,那么這樣設(shè)置就會(huì)出現(xiàn)問(wèn)題了。

fetch添加Cookie驗(yàn)證的方法是設(shè)置credentials: 'include'

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

設(shè)置好了之后,信心滿滿的發(fā)起請(qǐng)求。卻發(fā)現(xiàn)網(wǎng)絡(luò)請(qǐng)求報(bào)錯(cuò)了

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

解決方法

原因是網(wǎng)絡(luò)請(qǐng)求需要攜帶Cookie時(shí)Access-Control-Allow-Origin是不能設(shè)置為*的,這個(gè)時(shí)候應(yīng)該要給Access-Control-Allow-Origin指定域名

這樣就可以達(dá)到跨域請(qǐng)求的同時(shí)傳遞Cookie的目的了

  • 列表項(xiàng)目

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • React useContext與useReducer函數(shù)組件使用

    React useContext與useReducer函數(shù)組件使用

    useContext和useReducer 可以用來(lái)減少層級(jí)使用, useContext,可以理解為供貨商提供一個(gè)公共的共享值,然后下面的消費(fèi)者去接受共享值,只有一個(gè)供貨商,而有多個(gè)消費(fèi)者,可以達(dá)到共享的狀態(tài)改變的目的
    2023-02-02
  • 基于react后端渲染模板引擎noox發(fā)布使用

    基于react后端渲染模板引擎noox發(fā)布使用

    本篇文章主要介紹了基于react后端渲染模板引擎noox發(fā)布使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • React useEffect的理解與使用

    React useEffect的理解與使用

    useEffect是react v16.8新引入的特性。我們可以把useEffect hook看作是componentDidMount、componentDidUpdate、componentWillUnmounrt三個(gè)函數(shù)的組合
    2022-12-12
  • React創(chuàng)建組件的三種方式及其區(qū)別

    React創(chuàng)建組件的三種方式及其區(qū)別

    本文主要介紹了React創(chuàng)建組件的三種方式及其區(qū)別,具有一定的參考價(jià)值,下面跟著小編一起來(lái)看下吧
    2017-01-01
  • React??memo允許你的組件在?props?沒(méi)有改變的情況下跳過(guò)重新渲染的問(wèn)題記錄

    React??memo允許你的組件在?props?沒(méi)有改變的情況下跳過(guò)重新渲染的問(wèn)題記錄

    使用?memo?將組件包裝起來(lái),以獲得該組件的一個(gè)?記憶化?版本,只要該組件的?props?沒(méi)有改變,這個(gè)記憶化版本就不會(huì)在其父組件重新渲染時(shí)重新渲染,這篇文章主要介紹了React??memo允許你的組件在?props?沒(méi)有改變的情況下跳過(guò)重新渲染,需要的朋友可以參考下
    2024-06-06
  • React實(shí)現(xiàn)卡片拖拽效果流程詳解

    React實(shí)現(xiàn)卡片拖拽效果流程詳解

    這篇文章主要介紹了React Web開發(fā)實(shí)戰(zhàn)示例,實(shí)現(xiàn)卡片拖拽效果,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2022-11-11
  • React經(jīng)典面試題之倒計(jì)時(shí)組件詳解

    React經(jīng)典面試題之倒計(jì)時(shí)組件詳解

    這些天也都在面試,面試的內(nèi)容也大多千篇一律,無(wú)外乎vue、react這些框架的一些原理,和使用方法,但是也遇到些有趣的題目,這篇文章主要給大家介紹了關(guān)于React經(jīng)典面試題之倒計(jì)時(shí)組件的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • 探討JWT身份校驗(yàn)與React-router無(wú)縫集成

    探討JWT身份校驗(yàn)與React-router無(wú)縫集成

    這篇文章主要為大家介紹了JWT身份校驗(yàn)與React-router無(wú)縫集成的探討解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • React 錯(cuò)誤邊界組件的處理

    React 錯(cuò)誤邊界組件的處理

    這篇文章主要介紹了React 錯(cuò)誤邊界組件的處理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • React?Native項(xiàng)目設(shè)置路徑別名示例

    React?Native項(xiàng)目設(shè)置路徑別名示例

    這篇文章主要為大家介紹了React?Native項(xiàng)目設(shè)置路徑別名實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-05-05

最新評(píng)論

弋阳县| 公安县| 长子县| 祁连县| 故城县| 木里| 湾仔区| 安图县| 新竹市| 临高县| 万全县| 石门县| 裕民县| 夏邑县| 朝阳县| 南川市| 汉沽区| 东乡县| 清新县| 乌鲁木齐县| 宜阳县| 山阴县| 巴彦县| 和林格尔县| 神木县| 定日县| 太保市| 唐海县| 阿图什市| 凤山市| 红河县| 沙坪坝区| 环江| 镇安县| 安乡县| 固阳县| 陆川县| 马山县| 依安县| 河源市| 江阴市|