亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Typescript 從 POST 和 PATCH 獲取請求中刪除 Authorization 標頭

Typescript 從 POST 和 PATCH 獲取請求中刪除 Authorization 標頭

慕妹3242003 2023-08-05 11:52:29
我使用 C# 構建了一個 API,該 API 使用 JWT 令牌進行授權。在前端,我將這些令牌存儲在本地存儲中,并在創建請求時獲取它們。創建 GET 或 DELETE 請求時,一切正常,并且使用console.log()我可以看到提取選項添加了授權標頭。但是,當使用 POST 或 PATCH 方法時,授權標頭在將其添加到對象后立即丟失。這是我的請求方法:const send = async (apiOptions: ApiParams): Promise<FetchReturn> => {    const accessToken = GetAccessToken()    const options: ApiOptions = {        method: apiOptions.method,        headers: {            Authorization: `Bearer ${accessToken}`        }    }    console.log(options)    if (apiOptions.data) {        options.headers = {            'Content-Type': 'application/json'        }        options.body = JSON.stringify(apiOptions.data)    }    const result = await fetch(`${getUrl()}/${apiOptions.path}`, options).then(res => res).catch(err => err)    if (!result.ok) {        if (IsExpired()) {            const refreshResult = await fetch(`${getUrl()}/api/user/refresh`, {method: 'POST', headers:{                'Content-Type': 'application/json'            }, body: JSON.stringify(GetRefreshRequest())}).then(res => res).catch(err => err)            if (refreshResult.ok) {                Login(JSON.parse(await refreshResult.text()))                return await send(apiOptions)            } else if (refreshResult.status === 401) {                Logout()                window.location.reload()                return { code: 0, text: ""}            }        }    }    const text = await result.text()    return { code: result.status, text: text }}
查看完整描述

2 回答

?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

我想在 POST 的 apiParams 中,您分配了屬性“data”,稍后您將擁有完全替換請求標頭對象的 if 條件。將其更改為:

    options.headers['Content-Type'] = 'application/json';

在標頭中保留授權


查看完整回答
反對 回復 2023-08-05
?
胡子哥哥

TA貢獻1825條經驗 獲得超6個贊

第一次檢查您的apiOptions.data

我認為,當你調用POST/Patch請求時它為空

只需放入console.log("...")if 語句,然后嘗試解決您的錯誤



查看完整回答
反對 回復 2023-08-05
  • 2 回答
  • 0 關注
  • 226 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號