javascript - 是否可以在 JavaScript 中访问重定向 url 的参数?
问题描述
当我点击这个 url 时,https://www.firstwebsite.com?redirect_uri=https://www.secondwebsite.com&response_type=code
它会重定向到具有不同 url 的页面,https://www.secondwebsite.com?code=aLongString
我正在尝试访问code
在重定向时加载的 url 的参数。
这是我尝试过的:
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,而不是我要重定向到的那个。
有谁知道如何做到这一点?
解决方案
正如您在正确的searchParams
工作中所看到的:
const url_string = 'https://www.firstwebsite.com?redirect_uri=https://www.secondwebsite.com'
const url = new URL(url_string)
const code = url.searchParams.get('redirect_uri')
console.log(code)
在您发表评论后,这有点棘手,但如果您现在的网址始终相同,则可以使用
const url_string = 'https://www.firstwebsite.com?redirect_uri=https://www.secondwebsite.com&response_type=code'
const firstSearch = url_string.split('?redirect_uri=');
console.log(firstSearch[1])
const url_string = 'https://www.firstwebsite.com?redirect_uri=https://www.secondwebsite.com?code=aLongString'
const firstSearch = url_string.split('?code=');
console.log(firstSearch[1])
推荐阅读
- c# - 有什么东西可以让这个立方体在 Unity 中爬升吗
- selenium - 是否有可能,如果可以,如何使用 RobotFramework 清除 localStorage?
- c - 在 Linux 和其他操作系统上,真正的软件内部是否有内核模块
- c++ - 更新 OPENGL 中的顶点和索引
- python - 如何调试即将死去的 jupyter notebook ipython 内核?
- reactjs - 当依赖项更改时,React useEffect hook 不会触发
- excel - 将用户表单输入值相乘和除以在 a 列中获得新的值范围时出错
- sql - 从另一列获取列
- reactjs - TypeError: _ is not a function while writing jest unit test case in react
- python - discord.py 使用自定义检查黑名单