【问题标题】:Fetch Query Parameters [duplicate]获取查询参数[重复]
【发布时间】:2020-06-26 16:46:06
【问题描述】:

我需要从 URL 获取授权码。它作为查询字符串参数存在。

当我运行以下网址时

https://XXX.authenticaion.com/oauth/authorize?response_type=code&client_id=sb!t113

它重定向到 http://localhost:8080/?code=8wFgU1GJo3

我需要解析 localhost URL 并获取代码。

请帮助如何检索代码

代码:

 const url = 'https://XXX.authenticaion.com/oauth/authorize?response_type=code&client_id=sb!t113'
     const config = {
      method: "GET"   
    };
    const response = await fetch(url ,config);

    console.log('Response Text...............'+response.text())

【问题讨论】:

  • 需要解析localhost url来提取code参数吗?
  • 是的,没错
  • 但问题是,它是一个重定向 URL,我只有在第一个 URL 运行后才知道 locla 主机 URL
  • 那么你尝试从当前页面查询字符串中获取它,而不是解析 URL
  • 没错..当我运行第一个 URL 时,它会从那里重定向到本地主机 URL,我会拿起代码..

标签: javascript node.js


【解决方案1】:

您可以使用纯 js URL web api 创建 URL 对象,然后获取 code 值。

const url = 'http://localhost:8080/?code=8wFgU1GJo3'
const code = new URL(url).searchParams.getAll('code')

console.log(code)

【讨论】:

  • 但我的问题是,它是一个重定向 URL,所以我如何在运行第一个 URL 后检索。
  • 那么你应该在重定向后以某种方式从本地主机获取 url,例如你可以尝试window.location.href,然后你得到查询字符串作为答案。
猜你喜欢
  • 2011-02-22
  • 2018-10-10
  • 2023-03-03
  • 2013-01-11
  • 1970-01-01
  • 2023-03-18
  • 2015-12-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多