Как заменить предыдущие параметры URL, используя JavaScript? - PullRequest
0 голосов
/ 21 февраля 2019

У меня была эта функция, чтобы получить и заменить мой URL параметр:

function getURLParameters(paramName) {
    var sURL = window.document.URL.toString();
    if (sURL.indexOf("?") > 0) {
        var arrParams = sURL.split("?");
        var arrURLParams = arrParams[1].split("&");
        var arrParamNames = new Array(arrURLParams.length);
        var arrParamValues = new Array(arrURLParams.length);

        var i = 0;
        for (i = 0; i < arrURLParams.length; i++) {
            var sParam = arrURLParams[i].split("=");
            arrParamNames[i] = sParam[0];
            if (sParam[1] !== "")
                arrParamValues[i] = unescape(sParam[1]);
            else
                arrParamValues[i] = "No Value";
        }

        for (i = 0; i < arrURLParams.length; i++) {
            if (arrParamNames[i] === paramName) {
                return arrParamValues[i];
            }
        }
        return "No Parameters Found";
    }

}

Все работало нормально, когда у меня было URL, как это

https://example.com/?&page=2

Но теперь мой URL выглядит так:

https://example.com/?&page=2&order=my_id&direction=ASC.

Мой function по-прежнему заменяет page=2 на page=3 и т. Д., Но другие значения добавляются ко всему моему URL.Как я могу заменить все эти params в моем URL

1 Ответ

0 голосов
/ 21 февраля 2019

Вы можете использовать разделение на ? и &, чтобы получить все параметры, а затем обработать их с помощью своей логики.

const url = "https://example.com/?&page=2&order=my_id&direction=ASC"
console.log(url.split(/[\?\&]/))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...