Вы добавляете свои параметры URL к свойству location.search
, которое является строкой запроса:
document.location.search = '/def'+ '?' + 'key' + '=' + 'value';
Я считаю, что вы хотите добавить параметры URL к свойству location.href
, но сначала вам нужно отделить существующую строку search
(querystring) от нее:
var urlBase = window.location.href.split('?')[0];
window.location.href = urlBase + '/def'+ '?' + 'key' + '=' + 'value';