Как получить доступ к переменной, переданной в строке запроса, в функцию document.ready в 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);
});
Но безуспешно. Может кто-нибудь помочь мне в доступе к значению, переданному в строке запроса?
Благодарю.
1 ответ
Решение
Вам нужна функция, чтобы получить соответствующую информацию из строки запроса.
В этой теме есть одна хорошая вещь: Как я могу получить значения строки запроса в 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(...);