如何访问查询字符串中传递的变量到jQuery的document.ready函数?

时间:2016-01-03 07:50:54

标签: javascript jquery query-string document-ready url-parameters

我正在使用以下网址加载页面:

http://localhost/CKWEB_28-12-2015/event_index.php?event_id=510

我尝试使用代码来访问变量event_id的值,如下所示:

$(document).ready(function() {

  var query_event_id = $.url().param('event_id');
  alert(query_event_id);
});

但没有成功。有人可以帮我查一下查询字符串中传递的值吗?

感谢。

1 个答案:

答案 0 :(得分:1)

您需要一个函数来从查询字符串中获取相应的信息。

这个帖子中有一个好的:How can I get query string values in JavaScript?

将其应用于您的情况,您可以执行以下操作:

function getParameterByName(name) {
  name = name.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]");
  var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
      results = regex.exec(location.search);
  return results === null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

var query_event_id = getParameterByName('event_id');
if(query_event_id){
  alert(query_event_id);
}

通过检查query_event_id值是否评估为真值,如果查询字符串不存在,则可以避免采取任何操作。

此外,如果您在页面底部包含JavaScript,在结束</body>标记之前,则可以避免调用$(document).ready(...);