【发布时间】:2021-09-01 05:00:15
【问题描述】:
当我点击这个网址时,https://www.firstwebsite.com?redirect_uri=https://www.secondwebsite.com&response_type=code 它会重定向到具有不同网址的页面,https://www.secondwebsite.com?code=aLongString
我正在尝试访问在重定向时加载的 url 的 code 参数。
这是我尝试过的:
fetch('https://www.firstwebsite.com?redirect_uri=https://www.secondwebsite.com&response_type=code')
.then(getParams => {
const params = new URLSearchParams(window.location.search)
const code = params.get('code')
console.log(code)
}
)
但是这只会返回undefined。
我也试过这个:
const url_string = 'https://www.firstwebsite.com?redirect_uri=https://www.secondwebsite.com&response_type=code'
const url = new URL(url_string)
const code = url.searchParams.get('code')
console.log(code)
但这会返回第一个 url,而不是我要重定向到的那个。
有谁知道如何做到这一点?
【问题讨论】:
-
你的意思是
url.searchParams.get('redirect_uri')? -
谢谢@SimoneRossaini 我刚刚尝试过,但它只返回了重定向的来源,而不是它的参数
-
看答案,是工作..
-
啊,我意识到为什么它对我不起作用。我重定向的 url 中的
code参数来自我的第一个 url 中的附加参数response_type=code。我之前没有提到这一点以节省空间,但我现在明白这很重要。我已经编辑了我的问题以显示这一点。 -
window.location.search指的是你当前在的页面的位置;提出您的 fetch background 请求,并不会改变任何相关内容。你应该看看developer.mozilla.org/en-US/docs/Web/API/Response/redirected
标签: javascript url redirect parameters fetch