Как получить доступ к переменной, переданной в строке запроса, в функцию 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(...);

Другие вопросы по тегам