用javascript传递GET参数

时间:2014-09-25 21:13:49

标签: javascript php jquery url redirect

我将几个带GET方法的参数传递给域示例:

domain.com?bid=23&color=red&gender=male

我无法使用PHP,我需要获取那些参数值(bid,color,geneder)并使用重定向将它们传输到新域,这就是我用PHP做的方法

header( "Location: http://seconddomain.com/page3.php?c=50&key=f342fd0eb8ee0b6d9740f85971dabfec&bid=".$_GET["bid"]."&color=".$_GET["color"]."&gender=".$_GET["gender"]." );

http://seconddomain.com/page3.php?c=50&key=f342fd0eb8ee0b6d9740f85971dabfec这只是页面..

如何将其转换为javascript,这是可能的?

3 个答案:

答案 0 :(得分:0)

解析getUrls var然后重定向到带有所需参数的所需页面

// Read a page's GET URL variables and return them as an associative array.
function getUrlVars()
{
    var vars = [], hash;
    var hashes = window.location.search.substring(1).split('&');
    for(var i = 0; i < hashes.length; i++)
    {
        hash = hashes[i].split('=');
        vars.push(hash[0]);
        vars[hash[0]] = hash[1];
    }
    return vars;
}
var urlGetPrams = getUrlVars();
var redirecTo = "http://seconddomain.com/page3.php?c=50&key=f342fd0eb8ee0b6d9740f85971dabfec&bid="+urlGetPrams["bid"]+"&color="+urlGetPrams["color"]+"&gender="+urlGetPrams["gender"];
 // Redirect to 'redirectTo' url
window.location = redirecTo;

答案 1 :(得分:0)

由于the same origin policy,您无法使用javascript向其他域发出GET(不是POST)请求。您可以在此处找到解决方案:Ways to circumvent the same-origin policy

答案 2 :(得分:0)

您可以解析document.location.search以检索查询字符串参数。

即:

function getParameters(){
    var parameters = {}, regex = "[\?|\&]([^=]+)\=([^&]+)", greedy= new RegExp( regex, "g"), single = new RegExp( regex ), parts;

    document.location.search.replace( greedy,function( group ) {
        parts = single.exec( group );
        parameters[ parts[ 1 ] ] = parts[ 2 ];
    });

    return parameters;
}

如果你打电话给你的网址:“http://seconddomain.com/page3.php?c=50&key=f342fd0eb8ee0b6d9740f85971dabfec”它会返回一张类似

的地图

{   c:50,   key:f342fd0eb8ee0b6d9740f85971dabfec }