如何将查询字符串中传递的变量访问到 jQuery 的 document.ready 函数中?
How to access variable passed in a query string into document.ready function of jQuery?
我正在加载一个包含 URL 的页面,如下所示:
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);
});
但是没有成功。有人可以帮我访问查询字符串中传递的值吗?
谢谢。
您需要一个函数来从查询字符串中获取适当的信息。
这个帖子里有个好帖: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(...);
我正在加载一个包含 URL 的页面,如下所示:
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);
});
但是没有成功。有人可以帮我访问查询字符串中传递的值吗?
谢谢。
您需要一个函数来从查询字符串中获取适当的信息。
这个帖子里有个好帖: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(...);