Как передать данные из php в javascript
PHP просто напросто генерирует яваскрипт точно так же, как и всю остальную страницу, вместе со всеми переменными. К примеру, в PHP есть переменная $name=»Вася», значение которой надо передать в JavaScript, чтобы получить:
Мы просто пишем:
или при присвоении переменной «а» в JavaScript значения переменной $a из PHP:
В этом варианте плохо то, что JavaScript-код сгенерированный «на лету» трудно отлаживать, особенно если кода много. А если JavaScript используется многократно — его приходится копировать, а лишняя информация (при каждом запросе) пожирает трафик.
Вариант 2. Обращение через getElementById.
Лишиться всех этих проблем можно выносом всего JS-кода в отдельный статический *.js-файл и передавать ему динамические данные через скрытые элементы форм.
а в PHP-скрипте сделаем:
Как передать из php в javascript
Для передачи данных из PHP в JavaScript можно использовать несколько способов:
Использование тега внутри PHP-кода и вставка переменной внутри скрипта:
$my_var = "Hello, World!"; ?> var js_var = " echo $my_var; ?>"; console.log(js_var); // выводит "Hello, World!" в консоль
Создание скрытого элемента на странице и передача значения через его атрибут:
$my_var = "Hello, World!"; ?> type="hidden" id="my_var" value=" echo $my_var; ?>"> var js_var = document.getElementById("my_var").value; console.log(js_var); // выводит "Hello, World!" в консоль
Использование AJAX-запроса для получения данных из PHP-скрипта:
$my_var = "Hello, World!"; echo $my_var; // выводим переменную на экран ?> let xhr = new XMLHttpRequest(); xhr.open('GET', 'script.php', false); // false - синхронный запрос xhr.send(); console.log(xhr.responseText); // выводит "Hello, World!" в консоль
В каждом из этих способов мы передаем переменную $my_var из PHP в JavaScript. Выберите тот способ, который подходит вашей задаче лучше всего.
Передача значений переменной из PHP в JavaScript
Здравствуйте уважаемые читатели. За ранее хочу сказать, что это мой первый пост и не судите очень строго.
Сегодня пост будет посвящен передачи значений переменной PHP в JavaScript — сценарий.
Этот урок подойдет самым новичкам, тем кто только начинает заниматься Web — программированием.
Для начала создадим обычный документ index.php и его каркасом будет служить простой HTML код.
Работа с переменными
Весь код JavaScript и PHP будем писать в теги BODY.
PHP переменная $CITY будет равна «Ivanovo». Значение этой переменной нам нужно передать в переменную TOWN JavaScript`a.
Давайте теперь напишем следующий код в файле index.php:
И так рассмотрим выше приведенный нами программный код. У нас есть PHP-переменная с именем CITY и значением Ivanovo, и наша задача состоит в том, чтобы это значение вывести на экран, но не средствами PHP, а с помощью JavaScript.
Для этого мы как обычно открываем теги JavaScript и объявляем переменную TOWN.
На месте присвоения JavaScript переменной TOWN, мы пишем PHP код, который выводит нашу переменную CITY.
Наступило время проверить наш код в действии.
Наш браузер выдал нам следующее:
Город невест и молодежи: Ivanovo
При просмотре исходного кода страницы мы увидим:
Из всего выше перечисленного делаем вывод, что передавать переменную из PHP в JavaScript очень просто.
Спасибо за внимание, с вами был DangerPro
Передача данных из php в javascript
Т.е. в php я присвоил значения переменным, а теперь хочу к ним обратиться из файла load_map_step.js. Пытаюсь так но ничего не получается, данные пустые.
var mylat = $(Lat).val(); var mylong = $(Lng).val();
Отслеживать
задан 1 апр 2016 в 9:14
353 1 1 золотой знак 3 3 серебряных знака 15 15 бронзовых знаков
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
Их можно передать в JS одним из способов:
- через GET-параметры, если на документ ссылаетесь откуда-то
- встроив значение переменных в DOM-документа
- подгрузив через AJAX с сервера, например, сформировав JSON-ответ
- через cookie
- сформировав JS-код средствами PHP
Самый простой случай — это передача переменных через DOM, можно положить их например в data-атрибут, какого-то скрытого div-документа
Тогда если вы пользуетесь jQuery, вы сможете обратится к этим атрибутам через метод data()
var mylat = $('div.hidden').data('lat'); var mylong = $('div.hidden').data('lng');
Отслеживать
ответ дан 1 апр 2016 в 9:19
19.4k 29 29 золотых знаков 47 47 серебряных знаков 139 139 бронзовых знаков
ИМХО, почти идеальный ответ. Осталось лишь добавить json_encode.
1 апр 2016 в 9:41
У вас не получается потому что к моменту, когда вы пытаетесь обратиться из js файла на машине пользователя к перемнным, находящимся на сервере, то эти переменные уже «мертвы». PHP отработал, отдал данные пользователю, и уже знать не знает что происходит со страницей в браузере у пользователя.
Я бы завел бы файл, например vars.php :
var Name = var Adres = var Lat = var Lng =
Отслеживать
ответ дан 1 апр 2016 в 9:24
user200141 user200141
1,047 1 1 золотой знак 6 6 серебряных знаков 17 17 бронзовых знаков
завели vars.php , а добавляете src=»https://ru.stackoverflow.com/questions/508826/scripts/vars.js»
1 апр 2016 в 9:25
@Grundy: Поправил.
1 апр 2016 в 9:28
Интересно. Реально!
1 апр 2016 в 14:13
Так какой в итоге файл нужно создать vars.php или vars.js.
1 апр 2016 в 14:14
Заводить надо php и с его помощью генерировать js код, примерно как герерируете html код
2 апр 2016 в 22:20
Так как php исполняется на сервере, а js — на клиенте, один из способов получить значение переменных — просто вывести их в блоке скрипт, например так
Теперь в момент выполнения скрипта, будет объявлена глобальная переменная, которая будет доступна и внутри подгружаемого скрипта.
Дополнительный вариант: добавить настройки сервера, чтобы js файлы также обрабатывались как php.
