Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.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 删除URL参数_Javascript_Devextreme - Fatal编程技术网

Javascript 删除URL参数

Javascript 删除URL参数,javascript,devextreme,Javascript,Devextreme,我通过会话将一些参数从一个页面传递到另一个页面,我面临的问题是每个参数都会反映在URL中,我认为这不是一种正确的方式。因此,我希望在导航到其他页面时删除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 我用来导航的代码是:

我通过会话将一些参数从一个页面传递到另一个页面,我面临的问题是每个参数都会反映在URL中,我认为这不是一种正确的方式。因此,我希望在导航到其他页面时删除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);
    }

在bankedit.js页面

很抱歉耽搁您。您可以尝试
history
API来操作浏览器中显示的URL

加载完成后,请尝试以下操作:

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

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

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

Tkanks分享您的经验。我可以通过session解决此问题。我刚刚替换了
Demo.app.navigate(“bankedit/?AccountNumber=“+options.data.AccountNumber+”&payeid=“+options.data.payeid+””&BankName=“+options.data.BankName”)使用
PaMobile01.app.navigate(“bankinformationedit/”)


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

您的意思是在目标页面上它应该只显示基本url,如localhost/index.html,而不显示其他参数?是的,我无法实现。谢谢您的响应,我尝试实现了这一点,但它不起作用。你能不能给我推荐一些其他的方式,比如Post方法之类的。这个是单页应用程序吗?您是移动到
bankedit
页面还是仅发生哈希更改(部分在#之后)?如果您导航到下一页,则需要在该页上运行此历史记录。
var orig=document.location.href;
var noParam=urlWithoutParams.substring(0,urlWithoutParams.indexOf("#"));

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