为了账号安全,请及时绑定邮箱和手机立即绑定

在没有清理其他参数的情况下在 url 中传递参数使用 js

在没有清理其他参数的情况下在 url 中传递参数使用 js

一只甜甜圈 2022-12-09 15:12:25
我使用 Paginator django,当我点击页面按钮时。url 更改为:/admin/orders/?page=2 现在我想在 url 参数 中设置状态/admin/orders/?status=1,如下所示: 。有用!但在这种情况下,当我更改页面时,状态参数被清除!我想像这样在 url 中设置两个参数: /admin/orders/?status=1&page=2 我怎样才能用 js 解决这个问题并获得像上面那样干净的 url?这是我的想法,但不起作用:        $(document).ready(function(){           $("#status-filter").click(function(){                             var s = $("#status-value").val();               if(window.location.href.indexOf("?") > -1)                    window.location.href = window.location.href+"&status="+s;                else                    window.location.href = window.location.href+"?status="+s;           })        });
查看完整描述

1 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

我找到了!我应该这个代码:


function getParameter(name,href){

    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");

    var regexS = "[\\?&]"+name+"=([^&#]*)";

    var regex = new RegExp( regexS );

    var results = regex.exec( href );

    if( results == null )

        return "";

    else

        return decodeURIComponent(results[1].replace(/\+/g, " "));

    }

function setUrlParameter(name,value){

    var url = window.location;

    var href = url.href;

    var search = url.search;

    var val = getParameter(name,href);

    if(val != ''){

        var param = name+'='+val;

        var new_param = name+'='+value;

        var newUrl = href.replace(param,new_param);

        window.history.pushState("string", "Title", newUrl);

        return false;

     }

     else if(search == ''){

        var param = '?'+name+'='+value;

        var newUrl = href+param;

        window.history.pushState("string", "Title", newUrl);

        return false;

     }

     else if(search != ''){

        var param = '&'+name+'='+value;

        var newUrl = href+param;

        window.history.pushState("string", "Title", newUrl);

        return false;

     }

}

    console.log(setUrlParameter("status","1"));


查看完整回答
反对 回复 2022-12-09
  • 1 回答
  • 0 关注
  • 76 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信