Получение строковых параметров URL в JavaScript и передача их в новый URL

0

Я пытаюсь использовать javascript для завершения того, что я сделал много раз в PHP.

У меня есть два экземпляра URL-адресов, которые входят в мой сайт. Один из ссылки отслеживания... и другой от поиска или обмена, и так далее...

ссылка для отслеживания: www.foo.com/blog?offer=pine&sub_id=123 неплатежеспособная поисковая ссылка: www.foo.com/blog

Я хотел бы определить, есть ли у моей ссылки строка, и если да, то передайте предложение в URL-адрес страницы. В PHP я бы так делал.

<?php
    if(array_key_exists('sub_id', $array)) {
        $my_variable = $array['sub_id'];
    } else {
        $my_variable = 'my default value';
    }
?>
    <a class="submitbutton" href="www.joinmywebsite.com/join?offer=pine&sub_id=<?php echo $my_variable; ?>">Join My Site</a>

Можно ли это сделать с помощью javascript? Я ищу и ищу и когда-либо функционирую, я нахожу либо возвращает значение параметра строки, либо ничего не видит и ничего не делает.

Благодарю.

2 ответа

0

Конечно:

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, " "));
}

var subId = getParameterByName('sub_id') || 'my default value';

$(function(){

     $('a.submitbutton')
       .prop({ href: 'www.joinmywebsite.com/join?offer=pine&sub_id=' + subId  });
});

Как я могу получить значения строки запроса в JavaScript?

  • 0
    Как мне установить значение по умолчанию в этом случае?
  • 0
    @ user3443800 Только что заметил, что ты просил об этом. Пожалуйста, смотрите обновление
0

Если я понимаю ваш вопрос, это должен быть ответ:

<script type='text/javascript'>
function getUrlVars()
{
    var vars = {};
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) { vars[key] = value; });

    return vars;
}


var path = window.location.href;
var position = path.indexOf("sub_id");

if (position != -1)
    var desired = getUrlVars()["sub_id"];
else
    var desired = 'my default value';

//alert(desired);
</script>

<a class="submitbutton" onClick="document.location.href='http://www.joinmywebsite.com/join?offer=pine&sub_id=' + desired;">Join My Site</a>

Ещё вопросы

Сообщество Overcoder
Наверх
Меню