javascript 如何仅使用浏览器js处理传入URL请求?

nzrxty8p  于 2022-12-25  发布在  Java
关注(0)|答案(1)|浏览(150)

我想从URL获取信息。
示例:mywesite.com/#base64text
如何使用浏览器js获取传入请求。在js中使用哪个函数。

vc9ivgsu

vc9ivgsu1#

如果你只需要提取标签符号后面的数据,那么就像这样使用.split()location.href

const data = location.href.split('#', 2)[1];

如果需要进一步将JS对象存储在URL中,那么应该使用base64编码的JSON,要生成编码数据并将其放入URL中,只需使用JSON.stringify()atob()

const obj = {
  name: 'Bob',
  age: 30,
};

location.href += '#' + btoa(JSON.stringify(obj));
// the page will now reload with the data stored in the URL

然后,使用atob()JSON.parse()对该数据进行解码:

const urlData = location.href.split('#', 2)[1];
const data = urlData ? JSON.parse(atob(urlData)) : null;
console.log(data);
// returns any data stored in URL, or null

相关问题