UrlSearchParams.get()不适用于重写的网址

时间:2019-04-13 23:26:14

标签: javascript query-string querystringparameter

在我的网站上,我重写了所有网址。但是现在我已经开始使用AJAX进行投票功能(这是一个问答社区),但是存在一些问题:

我正在将new UrlSearchParams(window.location.search)存储在一个常量中。然后,我为此调用.get()方法。但是,由于网址已被重写,因此无法识别查询。

const myParam = urlParams.get('id');

该网址是www.example.com/Questions/7的{​​{1}}

我的.htaccess文件如下所示:

www.example.com/pages/question.php?id=7

如何克服URL重写后UrlSearchParams无法识别查询字符串数据这一事实?

1 个答案:

答案 0 :(得分:1)

您的重写规则规定了所有内部重写,这意味着客户端代码只能看到原始URL,即then

由于您的PHP在服务器端运行,并且可以看到重写的查询参数,因此您可以将它们直接作为JS变量注入,以供客户端代码使用。

例如,将其放在您的/Questions/7部分...

<head>