如何使用history.pushState将查询字符串变量附加到现有URL?

问题描述 投票:2回答:2

我目前有一个显示我所有项目的URL:http://localhost:8090/projects.php当我单击一个时,我可以使用以下简单代码将一个变量附加到URL的末尾:

$(document).ready(function() { 
$(".projects-container").on("click", ".procject-listing", function(){
  history.pushState({}, '', '?info='+$(this).attr("id"));
    $(".project-info").show(); 
          });
        });

URL变为:http://localhost:8090/projects.php/?info=23完美运作。问题是,当我在“ info” div中单击以打开另一张图片时,我希望单击功能将图片ID附加到URL的末尾:

$(document).ready(function() { 
$(".photo-block").on("click", ".photo", function(){
  history.pushState({}, '', '?photo='+$(this).attr("id"));
    $(".photo-viewer").show(); 
          });
        });

我希望获得一个类似于以下内容的网址:http://localhost:8090/projects.php/?info=23?photo=1相反,我得到了:http://localhost:8090/projects.php/?photo=1有什么方法可以追加到URL而不是覆盖“已经存在”查询字符串变量吗?我一直在寻找其他问题,但它们似乎并没有解决我的问题。谢谢!!

我目前有一个显示我所有项目的URL:http:// localhost:8090 / projects.php当我单击一个URL时,我可以使用以下简单代码在URL末尾附加一个变量:$(文档)...

javascript jquery html query-string pushstate
2个回答
1
投票

[这里是老板,解析当前的URL查询字符串,创建一个变量,然后将其添加到公式中。它是动态的,其内容基于单击。


0
投票

如果要多个查询字符串变量,则需要将它们与&联接在一起。因此-> projects.php?firstVar=1&secondVar=2

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.