Как передать значение переменной php в jquery
У меня есть переменная php:
$name_of_current_page
который у меня есть в моем представлении, и я хочу сделать значение доступным для jquery. Лучший способ сделать это следующим образом:
$(document).ready(function () {
var current page = "<?php echo $name_of_current_page; ?>" ;
});
Ответы
Ответ 1
Это действительно зависит от того, используете ли вы какой-то механизм шаблонов.
-
Если вы используете простой PHP, единственным вариантом для вас является echo
переменная:
var current page = "<?php echo $your_var; ?>";
-
Twig engine:
var current page = "{{ your_var }}";
-
Smarty и RainTPL двигатели:
var current page = "{$your_var}";
Как вы можете видеть, существуют и другие способы. Все они отлично работают. Это зависит от того, как вы хотите писать и организовывать свой код. Я лично использую Twig и считаю это очень простым, быстрым и простым.
Кроме того, как указывали другие, вы можете делать вызовы AJAX на сервере и извлекать такие переменные. Я нахожу этот метод трудоемким, неэффективным и небезопасным. Если вы выберете этот метод, вы будете отправлять запросы на script. Все смогут отправлять/получать запросы на этот script, который открывает ваши двери для некоторых ботов и DoS/DDoS-атак.
Ответ 2
var текущая страница= "";
Я не думаю, что у вас могут быть пробелы в переменной. (Я могу ошибаться).
В любом случае, чтобы упростить код, я только что сделал его немного.
$name_of_current_page = "HomePage";
И для Javascript;
var currentPage = "<?= $name_of_current_page; ?>";
Это должно быть так.
Ответ 3
document.title
должен предоставить вам то, что вам нужно. Подобные вещи либо запрашивают DOM, либо Ajax imho.
Я считаю, что лучше всего разделять слои, а не смешивать презентацию и контроллер с переполненным кодом html/php.
Ответ 4
В первую очередь, что вы спросите, это обычный способ заполнения кода на стороне клиента, но этот будет загружаться при загрузке страницы, если вы хотите запустить его в режиме реального времени после загрузки страницы, вы должны использовать ajax, причина в том, как вы будете общаться со сценариями на стороне сервера, не является возможным jquery или javascript загружать php vars в live, как только страница была загружена.