Javascript 使用jQuery向扩展url添加参数?

Javascript 使用jQuery向扩展url添加参数?,javascript,jquery,Javascript,Jquery,我正在使用脚本向URL添加参数,以便与布局更改的if语句一起使用。它的结构如下: /Computers/Desktops 单击以更改布局: /Computers/Desktops?param=list 及 我正在使用一个添加参数的文件管理器,然后布局将在以下两种情况之间更改: /Computers/Desktops?param=list&fss=HP+2GB /Computers/Desktops/Apple/Apple-iMac-Core-i5-2-7-GHz-8-GB-1-TB

我正在使用脚本向URL添加参数,以便与布局更改的
if
语句一起使用。它的结构如下:

/Computers/Desktops
单击以更改布局:

/Computers/Desktops?param=list

我正在使用一个添加参数的文件管理器,然后布局将在以下两种情况之间更改:

/Computers/Desktops?param=list&fss=HP+2GB
/Computers/Desktops/Apple/Apple-iMac-Core-i5-2-7-GHz-8-GB-1-TB-LED-2?prodid=30811
点击:

/Computers/Desktops?param=grid&fss=HP+2GB
这很好,但我需要为另一个结构做这项工作,它看起来像这样:

/Computers/Desktops?param=list&fss=HP+2GB
/Computers/Desktops/Apple/Apple-iMac-Core-i5-2-7-GHz-8-GB-1-TB-LED-2?prodid=30811
在这里,我想在
?prodid=30811
之前添加参数,以便在单击之间更改布局

/Desktops/Apple/Apple-iMac-Core-i5-2-7-GHz-8-GB-1-TB-LED-2?param=list&prodid=30811

/Desktops/Apple/Apple-iMac-Core-i5-2-7-GHz-8-GB-1-TB-LED-2?param=grid&prodid=30811
我希望我可以将脚本中的
FSS
更改为
prodid
,但这不起作用。那么为什么它不起作用,为什么,我该怎么做呢?我的
如果
/
其他
脚本已经运行,我只需要从按钮单击中找到正确的URL

$('.click3').on('click', function() {
    console.log("Clicked");
    var baseUrl =  window.location.href.split("?")[0];
    var fss = getParametersByName("fss");
    var params = getParametersByName("fss");

    if (params == "list") 
        param = "grid"; 
    else 
        param = "list";

    var newUrl = baseUrl + "?param=" + param;
    if ((fss).length > 0) 
        newUrl = newUrl + "&fss=" + fss;

    window.location.href = newUrl;

    function getParametersByName(name) { 
        name = name.replace(/[[]/, "\[").replace(/[]]/, "\]"); 
        var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"), 
            results = regex.exec(location.search); 
        return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " ")); 
    } 
});

querystring中属性的顺序没有区别。您可以将
&prodid=XX
附加到URL的末尾。我不确定是否遵循-属性的顺序必须是默认orderid之前的param=list或grid才能使脚本正常工作-但我无法更改脚本以使用orderid。请尝试以下操作:
属性的顺序必须是默认orderid之前的param=list或grid脚本正常工作的默认orderid
根本不是这样。
getParametersByName
函数用于按名称而不是位置从URL检索属性。顺序没有区别,我不同意。如果url看起来像Apple-iMac-Core-i5-2-7-GHz-8-GB-1-TB-LED-2?prodid=30811?param=list,我的站点将不会正确显示布局更改