繁体   English   中英

JS 中 URL 中的访问参数(React)

[英]Access params in URL in JS (React)

我有这个 URL: http://localhost:3000/#access_token=90kzif5gr8plhtl9286sc1z1qbgoj3&scope=moderation%3Aread&token_type=bearer

我只想从中获取 access_token 值90kzif5gr8plhtl9286sc1z1qbgoj3

请问如何在 Javascript 中做到这一点?

如您所见,最简单的方法是:

var url_string = "http://localhost:3000/#access_token=90kzif5gr8plhtl9286sc1z1qbgoj3&scope=moderation%3Aread&token_type=bearer"; 
var url = new URL(url_string);
var c = url.searchParams.get("access_token");

您可以通过将 URL string拆分为三个字符串并直接使用访问令牌来尝试此操作

var url=http://localhost:3000/#access_token=90kzif5gr8plhtl9286sc1z1qbgoj3&scope=moderation%3Aread&token_type=bearer
var firstHalf=url.split('#access_token=')[1];
var required_token=firstHalf.split("&scope")[0];

打印required_token的值。

所需的结果将是"90kzif5gr8plhtl9286sc1z1qbgoj3"

您的文本是window.location.hash中包含的字符串,并且该格式的字符串可以使用URLSearchParams 构造函数轻松转换为正确解码的键/值存储:

const token = new URLSearchParams(window.location.hash).get("access_token");

这是解决方案:

const url = "http://localhost:3000/#access_token=90kzif5gr8plhtl9286sc1z1qbgoj3&scope=moderation%3Aread&token_type=bearer";
const hash = url.substring(url.indexOf('#') + 1);
let result = hash.split('&')
result = result[0].split('=')

console.log(result[1]); // "90kzif5gr8plhtl9286sc1z1qbgoj3"

快乐编码:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM