-1

我有一个如下所示的当前 URL:

http://example?variables1=xxxx&example&variables2=yyyyy

我想使用 variables1 和 variables2 创建一个新 URL 并打开这个新 URL:

http://example?variables3=variables1&example&variables4=variables2

我希望有人可以帮助我:)

4

2 回答 2

0

您将需要从第一个 URL 解析所需的查询参数,并使用字符串添加来创建第二个 URL。

您可以使用此代码从 URL 中获取特定的查询参数。如果你使用它,你可以像这样得到 variables1 和 variables2:

var variables1 = getParameterByName("variables1");
var variables2 = getParameterByName("variables2");

然后,您可以使用它们来构建您的新 URL。

newURL = "http://example.com/?variables1=" + 
    encodeURIComponent(variables1) + 
    "&someOtherStuff=foo&variables2=" + 
    encodeURIComponent(variables2);
于 2012-04-04T22:04:47.783 回答
0

因为我不完全了解需要更改的内容,所以这是我最好的尝试*,使用其他答案在线资源的混搭。

// the original url
// will most likely be window.location.href
var original = "http://example?variables1=xxxx&example&variables2=yyyyy";

// the function to pull vals from the URL
var getParameterByName = function(name, uri) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regexS = "[\\?&]" + name + "=([^&#]*)";
    var regex = new RegExp(regexS);
    var results = regex.exec(uri);

    if(results == null) return "";
    else return decodeURIComponent(results[1].replace(/\+/g, " "));
};

// so, to get the vals from the URL
var variables1 = getParameterByName('variables1', original); // xxxxx
var variables2 = getParameterByName('variables2', original); // yyyyy

// then to construct the new URL
var newURL =  "http://" + window.location.host;
    newURL += "?" + "variables3=" + variables1;
    newURL += "&example&"; // I don't know what this is ...
    newURL += "variables4=" + variables2;

// the value should be something along the lines of
// http://example?variables3=xxxx&example&variables4=yyyy

​</p>

*所有这些都未经测试。

于 2012-04-04T22:10:46.853 回答