【发布时间】:2011-03-24 07:50:36
【问题描述】:
我有以下网址
http://somesite/somepage.aspx
我传递了一个查询参数值,该值具有另一个带有类似这样的查询参数的 URL。
http://somesite/somepage.aspx?pageURL=http://someothersite/someotherpage.aspx?param1=value&source=http://anotheronesite/anotherpage
我需要获取 pageURL 值作为粗体字母。但我得到了
http://someothersite/someotherpage.aspx?param1=value
我没有得到源参数。我正在使用以下 JavaScript 函数 -
function getParameterByName( 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 decodeURIComponent(results[1].replace(/\+/g, " "));
}
有什么想法吗?
【问题讨论】:
-
您从哪里获得名称/URL?
-
我在后面的代码中设置了-C#。
-
我想要一切 pageURL。它不会改变。我可以做吗?以 pageURL 作为参数的特定函数就可以了。
-
@NLV:我不知道
C#,但也许这对你有帮助:stackoverflow.com/questions/1380617/request-url-parameter 无论如何,你必须对&进行编码,这样它就不会被识别为“base”的参数网址”。 -
@NLV:HTML 编码!= URL 编码:en.wikipedia.org/wiki/Percent-encoding
标签: javascript regex url query-string