删除URL参数

时间:2016-01-11 04:34:20

标签: javascript devextreme

我通过会话将一些参数从一个页面传递到另一个页面,我面临的问题是每个参数都会反映在URL中,我认为这不是正确的方法。所以我想在导航到其他页面的同时从URL中删除所有参数。

请建议我存档的方式。

这是我得到的网址

http://localhost:58736/index.html#bankedit//10000422%20%20%20%20%20%20%20%20%20%20%20%20?PayeeId=4&BankName=State%20Bank%20%20

我用来导航的代码是:

cellTemplate: function (container, options) {$('<a/>').addClass('hyperlink')
       .text('Edit |')
       .on('click', function () {
            var Edit;
            Demo.app.navigate("bankedit/?AccountNumber=" + options.data.AccountNumber + "&PayeeId=" + options.data.PayeeId + "&BankName=" + options.data.BankName );  
            sessionStorage.setItem('AccountNumber', options.data.AccountNumber);
            sessionStorage.setItem('PayeeId', options.data.PayeeId);
            sessionStorage.setItem('BankName', options.data.BankName);
            sessionStorage.setItem('Type', "Edit");
      }).appendTo(container);

       $('<a/>').addClass('hyperlink')
           .text(' Delete')
           .on('click', function () {
                  options.component.removeRow(options.rowIndex);
           }).appendTo(container);
    }

用于检索参数值:

sessionStorage.getItem("BankName"), 

在bankedit.js页面

2 个答案:

答案 0 :(得分:0)

抱歉延误。您可以尝试history API来操纵浏览器中显示的网址。

在加载完成后尝试关注:

var orig=document.location.href;
var noParam=urlWithoutParams.substring(0,urlWithoutParams.indexOf("#"));

history.replaceState({'Original':orig},'',noParam);

这将使用没有任何查询字符串参数的href替换当前href。有关历史API的更多信息,请访问 MDN docs

答案 1 :(得分:0)

Tkanks分享你的经验很多。我能用会话来解决它。我刚刚用Demo.app.navigate("bankedit/?AccountNumber=" + options.data.AccountNumber + "&PayeeId=" + options.data.PayeeId + "&BankName=" + options.data.BankName );

替换了PaMobile01.app.navigate("bankinformationedit/");

并在会话中保留我的其余参数