как получить параметр из URL? - PullRequest
3 голосов
/ 16 марта 2011

У меня есть такой URL.http://localhost:8080/steer/trip/create/3. где на моей странице я хочу получить значение "3", используя jquery.пожалуйста, помогите мне

Ответы [ 6 ]

12 голосов
/ 16 марта 2011

От: Подсветка кнопки в зависимости от местоположения

var pathname = window.location.pathname.split("/");
var filename = pathname[pathname.length-1];

alert(filename);
2 голосов
/ 16 марта 2011

Обычный JS

var arr = (window.location.pathname).split("/");
var val = (arr[arr.length-1]);

Требуемое значение в val

2 голосов
/ 16 марта 2011

Это может быть излишним, но для разбора URL я нашел это полезным:

Плагин jQuery для разбора URL иобеспечивает легкий доступ к информации внутри них, такой как протокол, хост, порт, сегменты, которые составляют путь, и различные значения строки запроса.

В вашем случае это сводится к чему-токак:

jQuery.url.setUrl("http://localhost:8080/steer/trip/create/3").segment("4");
1 голос
/ 16 марта 2011

Это выведет «3» или в целом весь последний сегмент URL после последней косой черты «/».

var urlsegment = top.location.href.match(/([^\/]+)$/)[1]
0 голосов
/ 16 марта 2011

Я предполагаю, что вы хотите получить доступ к значению параметра метода действия вашего контроллера через jQuery в клиенте.

В таком случае я бы предпочел выдать значение параметра в виде метаданных в виде и запросить его с помощью jQuery, а не анализировать сам URL-адрес (однако вам нужно решить, куда отправлять).

В ASP.NET MVC, если у вас есть маршрут, который принимает следующий шаблон: {controller} {action} {param} , http: \ myhost \ mycontroller \ myaction \ 3 и http: \ myhost \ mycontroller \ myaction? Param = 3 эквивалентны, и разбора только одного шаблона URL будет недостаточно.

Вы можете найти примеры в jQuery плагине mdatadata полезными.

Ниже приведен один из примеров по ссылке выше.

<li class="someclass {some: 'data'} anotherclass">...</li>
<script>alert($('li.someclass').metadata().some);</script>

Пожалуйста, не обращайте внимания на этот ответ, если мое предположение неверно.

0 голосов
/ 16 марта 2011

Вот простая для понимания и понимания функция JS, которую вы можете использовать для извлечения любой переменной из URL.

Все, что вам нужно сделать, это вызвать эту функцию с именем переменной, которую вы хотите отфильтровать, и она вернет вам значение.

Надеюсь, это поможет:

function getVarFromURL(varName){
            var url = window.location.href;
            url = url.substring(url.indexOf('?'));
            var urlLowerCase = url.toLowerCase();
            varName = varName.toLowerCase();
            if (urlLowerCase.indexOf(varName + "=") != -1) {
                var value = url.substring(urlLowerCase.indexOf(varName) + varName.length + 1);
                if (value.indexOf('&') != -1) {
                    value = value.substring(0, value.indexOf('&'));
                }
                return value;
            }
            else {
                return null;
            }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...