我有两种网址:
www.example.com/page.php?test=argument
www.example.com/classname/methodname/arg1/arg2
现在我需要使用pushState();
来替换新网址。对于参数URL ,它也有效,但问题出在参数URL 。
这是我的代码:
var db = 'database';
var word = 'hello';
window.history.pushState("object", "title", "page.php?s="+db+"&q="+word);
参数URL的输出
:(这没关系)www.example.com/page.php?test=argument // Current URL
www.example.com/page.php?s=database&q=hello // New URL
参数网址的输出:
www.example.com/classname/methodname/arg1/arg2 //Current URL
www.example.com/classname/methodname/arg1/page.php?s=database&q=hello // New URL
虽然我想要:(对于参数和参数URL)
www.example.com/page.php?s=database&q=hello
如何修复参数网址?换句话说,我可以在推送之前删除所有参数吗? (在追加之前删除当前参数)
答案 0 :(得分:0)
我假设pushState正在尊重cwd(当前工作目录)。尝试在前导斜杠/
之前添加,所以:
window.history.pushState("object", "title", "/page.php?s="+db+"&q="+word);