目前我正在運行這樣的 fetch 呼叫
const url = "https://urlhere.com/initAPP/oauth2/authorize";
fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
"client_id": process.env.REACT_APP_CLIENT_ID,
"response_type": "code",
"provision_key": process.env.REACT_APP_PROVISION_KEY,
"authenticated_userid": process.env.REACT_APP_AUTHENTICATED_USERID
})
})
.then((response) => response.json())
.then((data) => {
console.log(data);
const redirect_uri = data.redirect_uri.toString();
const urlParams = new URLSearchParams(redirect_uri);
const code = urlParams.get('code')
}
)
所以在我們嘗試 url 引數之前一切正常。當我控制臺記錄資料時,它回傳如下:
redirect_uri : "https://sitehere.sitehere.com?code=U78StlK6sN3hD9CO4ZogvpXvxezFSGU0"
當我控制臺記錄redirect_uri變數時,它只列印出 URL,以便正常作業
但是當我嘗試解構該url params部分回傳的 URL 并嘗試在該 url 中獲取 CODE 引數時,它只回傳 null。我怎樣才能得到那個特定的引數?我沒有使用正確的變數嗎?
謝謝!
uj5u.com熱心網友回復:
您將完整的 URL 傳遞給URLSearchParams,它應該只需要查詢字串,例如。?code=U78StlK6sN3hD9CO4ZogvpXvxezFSGU0. 您可以使用URL.
const redirect_uri = "https://sitehere.sitehere.com?code=U78StlK6sN3hD9CO4ZogvpXvxezFSGU0";
let params = (new URL(redirect_uri)).searchParams;
const urlParams = new URLSearchParams(params);
const code = urlParams.get('code')
console.log(code);
uj5u.com熱心網友回復:
您需要創建一個 URL 物件并使用搜索來獲取該值。像這樣的東西
const url = new URL(data.redirect_url.toString());
const params = new URLSearchParams(url.search);
const code = params.get('code');
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/526258.html
上一篇:React-Redux只有lastet更改狀態才能正確顯示
下一篇:基于狀態渲染組件
