我有以下内容:
$(document).ready(function() {
window.location.href='http://target.SchoolID/set?text=';
});
因此,如果有人使用以下网址访问包含上述代码的网页:
Somepage.php?ID = ABC123
我希望ready函数中的text变量为:abc123
有什么想法吗?
答案 0 :(得分:3)
你不需要jQuery。你可以用普通的JS
做到这一点function getParameterByName( name ) //courtesy Artem
{
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, " "));
}
然后您可以像这样获取查询字符串值:
alert(getParameterByName('text'));
还可以在此处查看其他方式和插件:How can I get query string values in JavaScript?
答案 1 :(得分:3)
查看这个问题的答案: How can I get query string values in JavaScript?
它将从查询字符串中为您提供id参数的值。
然后你可以做类似的事情:
$(document).ready(function() {
var theId = getParameterByName( id)
var newPath = 'http://target.SchoolID/set?text=' + theId
window.location.href=newPath;
});
答案 2 :(得分:0)
为了帮助那些想要拥有多个变量并且在这里增强Moin答案的人们,我需要多个变量的代码:
function getParameterByName( name ) //courtesy Artem
{
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null )
return "";
else
{
if ((results[1].indexOf('?'))>0)
return decodeURIComponent(results[1].substring(0,results[1].indexOf('?')).replace(/\+/g, " "));
else
return decodeURIComponent(results[1].replace(/\+/g, " "));
}
}