Удалить GET Params в URL

72
08 февраля 2022, 06:00

Так получаю GET params после того как все флажки сняты с checkbox $(".checkbox_campaigns_id") так добавляю параметры к определенным ссылкам.

$(".checkbox_campaigns_id").attr("href", function(i, origValue){
    console.log(origValue);
        return origValue;
});

Ответ

/ru/statistics/ads?id=11&act_id=act_627387174454648&adset_id=23843999445570740&campaigns_id=23843999454240740,23843999445580740&campaigns_id=23843999445580740

Подскажите как можно удалить &adset_id=23843999445570740&campaigns_id=23843999454240740,23843999445580740&campaigns_id=23843999445580740

что бы получилось /ru/statistics/ads?id=11&act_id=act_627387174454648

Answer 1

Если не хочется заниматься веселой пляски с регулярками, и порядок чем-то (чем?) гарантирован то можно брутфорсить:

const str ='/ru/statistics/ads?id=11&act_id=act_627387174454648&adset_id=23843999445570740&campaigns_id=23843999454240740,23843999445580740&campaigns_id=23843999445580740';
const splitter = (str) =>{
  const [first, second] = str.split('&');
  return [first,second].join('&')
} // ru/statistics/ads?id=11&act_id=act_627387174454648 
Answer 2

Если одинаковый порядок параметров не гарантирован, то лучше парсить всю строку:

var str = '/ru/statistics/ads?id=11&act_id=act_627387174454648&adset_id=23843999445570740&campaigns_id=23843999454240740,23843999445580740&campaigns_id=23843999445580740'; 
var base = str.split('?')[0]; 
var getParams = str.split('?')[1]; 
var filteredParams = getParams.split('&').filter(key => /^(id)|(act_id)=/.test(key)).join('&'); 
var filteredUrl = base + '?' + filteredParams; 
console.log(filteredUrl);

READ ALSO
Как сделать чекбокс для активации группы

Как сделать чекбокс для активации группы

Мне нужно чтобы при нажатие на основной чекбокс активировались все как это сделать

70
Отключить разбиение на чанки Webpack

Отключить разбиение на чанки Webpack

Проект на Backbonejs + RequireJs собирается с помощью webpack, содержимое webpack

82
Не срабатывает модалка

Не срабатывает модалка

Открываю инспектор, там видно что что-то происходит, мне кажется класс добавляет и сразу же удаляется, не понимаю в чем проблема

227