Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在jquery就绪函数中获取URL参数?_Javascript_Jquery - Fatal编程技术网

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, " "));
  }
}

补充了另一个答案。如果你想更新你的答案,我会删除我的。谢谢你的代码。