Как удалить один параметр из строки запроса в URL-адресе, используя JavaScrip / jQuery (в приложении *. 1001 *? - PullRequest
1 голос
/ 05 марта 2020

У меня строка запроса выглядит следующим образом.

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

Я просто хочу удалить (только строку) "eid = 123 &" URL формы с использованием JavaScript / jQuery.

URL-адрес результата должен выглядеть следующим образом:

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

Я бы использовал ULRSearchparams, но IE, Edge (ниже 17) и Safari (ниже 10,3) не поддерживают URLSearchParams внутри Класс URL.

Пожалуйста, помогите.

Ответы [ 2 ]

0 голосов
/ 06 марта 2020
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); 
0 голосов
/ 05 марта 2020

Сначала получите URL в строке, подобной этой:

url = window.location.href;

, затем замените параметр, который необходимо удалить

newURL = url.replace("eid=123&", "");

, затем вставьте URL снова

document.location.href = newURL;
...