首页 > 解决方案 > 如何使用 JavaScrip/jQuery 从 URL 中的查询字符串中删除单个参数(在 .net 应用程序中?

问题描述

我有一个查询字符串如下。

http://tutor.rad.com/abc/login.aspx?eid=123&log=333&add=690000309791436

我只想使用 JavaScript/jQuery删除(仅字符串) “eid=123&”表单 URL。

结果 URL 应如下所示:

http://tutor.rad.com/abc/login.aspx?log=333&add=690000309791436

我会使用ULRSearchparams但 IE、Edge(低于 17)和 Safari(低于 10.3)不支持URLSearchParams内部 URL 类。

请帮忙。

标签: javascriptjqueryasp.net-web-api

解决方案


Replace 'yourparamkey' variable value in below code. hope this help you.


function searchToObject() {
  var pairs = window.location.search.substring(1).split("&"),
    obj = {},
    pair,
    i;

  for ( i in pairs ) {
    if ( pairs[i] === "" ) continue;

    pair = pairs[i].split("=");
    obj[ decodeURIComponent( pair[0] ) ] = decodeURIComponent( pair[1] );
  }

  return obj;
}

function serialize(obj) {
  var str = [];
  for(var p in obj)
    if (obj.hasOwnProperty(p)) {
      str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
    }
  return str.join("&");
}

var params = searchToObject();
delete params.yourparamkey; //remove param key
var path = window.location.pathname + '?' + serialize(params);
history.pushState({}, document.title, path); 

推荐阅读