[英]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.