Как получить параметр маршрута в JavaScript?

У меня есть веб-сайт ASP.NET, на котором включена перезапись URL. Я знаю, как получить параметры маршрута с помощью C#:

Page.RouteData.Values["id"] as string;

Но я не знаю, как получить его из JavaScript? Ниже приводится мой переписанный формат ссылки:

http://www.domain.com/topic/{id} / {title}

Я хочу получить это поле {id}, используя JavaScript. Пожалуйста помоги!

ОБНОВИТЬ

У меня есть этот код, который получает параметр запроса.

function getParameterByName(name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
    return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

Как это можно изменить, чтобы получить параметр маршрута?

1 ответ

Решение
function getValueAtIndex(index){
    var str = "http://www.sample.com/234/Fiddle/test"; //window.location.href; 
    return str.split("/")[index];
}
console.log(getValueAtIndex(3));

Попробуйте следующее:

const getRouteValueAt = (idx) => {

   const routeTokens = location.pathname.replace(/^\/+/g,'').split('/')
   //[questions,20302776,how-to-get-route-parameter-in-javascript]

   return routeTokens.length > idx ? routeTokens[idx] : undefined
}

Применение

const routeName = getRouteValueAt(0); // questions
const routeId = getRouteValueAt(1); // 20302776
Другие вопросы по тегам