Каков наилучший способ передать серверную переменную PHP в Javascript?Передать серверные переменные в Javascript в PHP
Для упрощения задачи предположим, что мы имеем переменную в PHP ($phpVar
), и мы хотим, чтобы присвоить ее значение переменной JavaScript (jsVar
)
файлы Javascript загружаются в HTML - они не создали динамичный!
Некоторые пищу для размышлений:
1. Печать с PHP перед загрузкой файлов JavaScript:
<script language="javascript" type="text/javascript">
var jsVar= <?php echo $phpVar?>;
</script>
2. Хранить в DOM (в скрытых элементов)
а. в PHP:
<span data-name="phpVar" data-value="<?php echo $phpVar?>"></span>
b. Читайте в JavaScript-файлов (предполагается, что JQuery доступен):
var jsVar= $('span[data-name="phpVar"]').attr('data-value');
3. Задайте его с помощью AJAX после загрузки страницы
Obviosly не является лучшим решением. Не подходит для всех сценариев и требует дополнительного запроса ...
В заключение:
- Они оба, кажется уродливым мне ... Есть ли лучший подход?
- Есть ли какие-либо фреймворки, которые могут обрабатывать эти зависимости? Пожалуйста, держите реконфигурацию сервера минимальной.
Я использую вариант 1. –
Решение 1, если значение не зависит от динамически пользовательского взаимодействия, решение 3 в противном случае. Почему они вам не нравятся? – dirluca
AJAX - лучший способ, в каком сценарии, по вашему мнению, ajax не хорошо? –