-1

可能重复:
如何使用 JQuery 获取 GET 和 POST 变量?
在 JavaScript 中获取查询字符串值

假设我的网站有网址http://www.akbrowser.tk/ds/?q=http://www.chess.com&r=http://www.blackle.com

(这两个参数是网址)

我现在想在网站上获取两个 javascript 变量,以及两个 url 的值。(所以第一个变量是 chess.com,第二个是 blackle.com [当然它会有 http 和所有,但我只能发布一个超链接])

我该怎么做?

我在这个网站上看到了一些其他类似的问题,发帖者给出了一个我不明白的长解决方案(我认为这与找到一个 '=' 并在它之后取走所有东西有关)但在这种情况下它会给“http: //www.chess.com&r= http://www.blackle.com [没有空格]”作为变量之一。

我还看到了另一个像我一样有多个参数的帖子,但是发帖人给出了一个很长的解决方案,所以由于我不明白,我无法真正让它做我想做的事情。

那么有人可以帮助我吗?

4

2 回答 2

0

试试这个功能:

function getQueryParam(href, paramName) {
    var query = href.substring(href.indexOf('?')+1);
    var params = query.split('&');
    for(var i = 0; i < params.length; i++) {
        var param = params[i].split('=');
        if(param.length > 1) {
            if(param[0] == paramName) {
                return param[1];
            }
        }
    }
    return null;
}

console.log(getQueryParam('http://www.akbrowser.tk/ds/?q=http://www.chess.com&r=http://www.blackle.com', 'r'));
于 2012-06-14T20:31:52.507 回答
-1
function gup(name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regexS = "[\\?&]" + name + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(window.location.href);
    if (results == null)
        return "";
    else
        return results[1];
}

 var qString = gup("q");
 var rString = gup("r");

这样做是做一个正则表达式来找到你传递给函数的任何 [name]。

于 2012-06-14T19:59:44.693 回答