Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用js/jquery通过页面重新加载修改url中的参数_Javascript_Jquery_Html - Fatal编程技术网

Javascript 使用js/jquery通过页面重新加载修改url中的参数

Javascript 使用js/jquery通过页面重新加载修改url中的参数,javascript,jquery,html,Javascript,Jquery,Html,我有一个类似于result?graphType=default&product=xyzzz&shop=11的url 我只想在用户单击按钮时更改graphType的值。 单击该按钮后,我将一些值存储在一个变量中,并且我想在url中用graphType=my_new_value替换graphType=default,而无需重新加载。 我不明白如何在graphType=处拆分url。 即使我能够在graphType中拆分为url,我如何用变量替换默认值(也可以是其他值,具体取决于用户选项)我认为您的解

我有一个类似于
result?graphType=default&product=xyzzz&shop=11的url

我只想在用户单击按钮时更改graphType的值。 单击该按钮后,我将一些值存储在一个变量中,并且我想在url中用
graphType=my_new_value
替换graphType=default,而无需重新加载。 我不明白如何在graphType=处拆分url。
即使我能够在graphType中拆分为url,我如何用变量替换默认值(也可以是其他值,具体取决于用户选项)

我认为您的解决方案应该是这样的

$(document).ready(function(){
    var queries = {};
    $.each(document.location.search.substr(1).split('&'), function(c,q){
        var i = q.split('=');
        queries[i[0].toString()] = unescape(i[1].toString()); // change escaped characters in actual format
    });

    // modify your parameter value and reload page using below two lines
    queries['your key']='your value';

    document.location.href="?"+$.param(queries); // it reload page
    //OR
    history.pushState({}, '', "?"+$.param(queries)); // it change url but not reload page
});

检查此处您可以从
窗口.位置.搜索
开始以返回任何url参数…
url而不重新加载
:只要更改url;浏览器将重新加载它。它是URL的一部分,您将对其进行更改并重新加载。它不在你手里,谢谢你。正是我期待听到你的声音。。别忘了放弃投票,并标上正确的分数。。我非常喜欢堆字:请再投票,现在你们有足够的票数15+,谢谢你们的好答案。只是个问题。是否可以使浏览器在历史记录上的已推送状态下工作?当我点击浏览器的“历史回顾”按钮时,按下的状态不起作用。。。只有在刷新后,这些内容才会应用于页面内容。无论如何,非常感谢@太金元,我想你需要用pop的方法来追溯历史,希望它能奏效。