JQuery, как получить переменные URL GET в JavaScript? - PullRequest
0 голосов
/ 01 декабря 2011

У меня есть ссылка:

<a href="?
processor=<?php echo $value['processor']; ?>&
auth_code=<?php echo $value['auth_code']; ?>
" id="buttonDetails">View Detail</a>

и функция:

function getUrlVars(parsedUrl) {
var vars = {};
parsedUrl.replace(/[?&]+([^=&]+)=([^&]*)/gi,
        function(m, key, value) {
            vars[key] = value;
        });
return vars;
}

Я передаю ссылку на эту функцию;

var url = $('#buttonDetails').attr('href'); // "?processor=25&auth_code=12"
var first = getUrlVars(url);
alert (first );

это предупреждение даст мне [object Object]

какие-либо идеи, что я делаю неправильно?

изменить: другой способ будет:

var first = getUrlVars()["processor"];
alert(processor);

, но это не так

edit:

ссылки создаются в цикле php:

foreach($test as Value){
 // here is the link being created and the result is more links.
}

также я изменил id на class для ссылки.

и я делаю:

$('.buttonDetails').each(function(){
var parsed = getUrlVars($(this).attr('href'));
console.log(parsed['processor']);

});

это даст мне undefined

это console.log(parsed); даст мне несколько объектов с данными внутри них.но когда я пытаюсь получить некоторые подробности изнутри объекта, я получаю undefined

почему бы это не сработало?

спасибо еще раз

Ответы [ 3 ]

3 голосов
/ 01 декабря 2011

В этом примере:

var url = $('#buttonDetails').attr('href'); // "?processor=25&auth_code=12"
var first = getUrlVars(url);
alert (first );

Причина, по которой вы получаете предупреждение [object Object], заключается в том, что first:

Object
    auth_code: "12"
    processor: "25"

Ваш второй пример не работает, потому что вы не передаете значение функции getUrlVars. Попробуйте это:

var url = $('#buttonDetails').attr('href'), // "?processor=25&auth_code=12"
    parsed = getUrlVars(url);

alert(parsed['processor']);
0 голосов
/ 01 декабря 2011

Возможные решения:

var first = getUrlVars(url)["processor"];
alert(first); // not alert(processor)

или

var first = getUrlVars(url);
alert (first.processor); // or alert(first["processor"]
0 голосов
/ 01 декабря 2011

jQuery не имеет встроенной функции.Я использую это: http://www.netlobo.com/url_query_string_javascript.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...