Javascript 如何在jquery就绪函数中获取URL参数?
我有以下资料:Javascript 如何在jquery就绪函数中获取URL参数?,javascript,jquery,Javascript,Jquery,我有以下资料: $(document).ready(function() { window.location.href='http://target.SchoolID/set?text='; }); 因此,如果有人使用以下url访问包含上述代码的页面: php?id=abc123 我希望ready函数中的文本变量为:abc123 有什么想法吗?您不需要jQuery。您可以使用普通JS来实现这一点 function getParameterByName( name ) //courtesy Ar
$(document).ready(function() {
window.location.href='http://target.SchoolID/set?text=';
});
因此,如果有人使用以下url访问包含上述代码的页面:
php?id=abc123
我希望ready函数中的文本变量为:abc123
有什么想法吗?您不需要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, " "));
}
然后你可以像这样得到querystring值:
警报(getParameterByName('text')代码>
也可以在此处查看其他方式和插件:查看此问题的答案:
这将为您提供查询字符串中id参数的值
然后你可以做一些类似的事情:
$(document).ready(function() {
var theId = getParameterByName( id)
var newPath = 'http://target.SchoolID/set?text=' + theId
window.location.href=newPath;
});
为了帮助那些想拥有多个变量的人,并增强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, " "));
}
}
补充了另一个答案。如果你想更新你的答案,我会删除我的。谢谢你的代码。