Автор Тема: Передача PHP переменных в JS файл  (Прочитано 11532 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Lucent

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 57
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Передача PHP переменных в JS файл
« : 21 Января 2007, 14:08:21 »
есть PHP массив $a(набор языковых констант), его значения необходимо использовать в JS функциях, подгружаемых в JS файле.

что то типа
....
alert("")
....

Как это сделать?

вариант определения JS переменных в PHP файле не подходит.
« Последнее редактирование: 21 Января 2007, 14:13:28 от Lucent »

Оффлайн brainkiller

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 527
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Передача PHP переменных в JS файл
« Ответ #1 : 21 Января 2007, 17:26:49 »
Не проще ли в таком случае определять переменные в отдельных JS-файлах для каждого языка, загружая нужный в зависимости от языка пользователя? Явно ведь константы эти не на лету будут меняться, набор их ограничен и более-менее постоянен в течение достаточно длительного времени. Так стоит ли сервер нагружать?

Оффлайн Lucent

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 57
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Передача PHP переменных в JS файл
« Ответ #2 : 21 Января 2007, 17:48:30 »
brainkiller
Это понятно, но дело в том, что есть константы, которые используются как в PHP, так и JS коде.
И хотелось бы такие константы определить 1 раз (скажем в ru.php файле), а не 2 (и ru.php, и ru.js)

то есть, вопрос сводится к тому, почему в процессе обработке JS файлов на предмет наличия PHP кода, PHP переменные не доступны?

Или я что-то путаю?

Оффлайн brainkiller

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 527
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Передача PHP переменных в JS файл
« Ответ #3 : 21 Января 2007, 22:34:42 »
Учитывая то, что PHP выполняется на стороне сервера, а JS - на стороне клиента, то никакие "PHP-переменные" в JS-файле доступны, само собой, не будут.

В принципе, можно заставить PHP-скрипт вписать в отдаваемый клиенту HTML небольшой фрагмент JS-кода, в котором все нужные переменные будут определены.

Оффлайн andymc

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 400
  • +1/-0
  • 0
    • Просмотр профиля
Передача PHP переменных в JS файл
« Ответ #4 : 21 Января 2007, 23:52:36 »
Предлагаю просто переименовать файл FILE.JS в FILE.PHP и подключать прямо на страницу Разницы никакой, что вы будете подключать файл js, что писать прямо в html.
А файо с расширением .js как вы ни рассуждайте не поймёт php кода

Оффлайн html_coder

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 427
  • +0/-0
  • 0
    • Просмотр профиля
Передача PHP переменных в JS файл
« Ответ #5 : 22 Января 2007, 10:36:08 »
Цитировать
andymc:
А файл с расширением .js как вы ни рассуждайте не поймёт php кода


Ну почему же, если заставить Apache отдавать js файлы интерпретатору php, то поймет, другой вопрос нужно ли это делать...
« Последнее редактирование: 22 Января 2007, 11:44:02 от html_coder »

Оффлайн hanslinger

  • H2Oer
  • Ветеран
  • *****
  • Сообщений: 1148
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.orava.ru
Передача PHP переменных в JS файл
« Ответ #6 : 22 Января 2007, 11:25:33 »
Развели тут фигню.
Написано все уже.

Оффлайн andymc

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 400
  • +1/-0
  • 0
    • Просмотр профиля
Передача PHP переменных в JS файл
« Ответ #7 : 22 Января 2007, 12:17:07 »
hanslinger
Есть разные способы просто, вот и обсуждаем

Оффлайн USE

  • Любитель
  • Ветеран
  • *****
  • Сообщений: 720
  • +0/-0
  • 2
    • Просмотр профиля
Передача PHP переменных в JS файл
« Ответ #8 : 22 Января 2007, 13:21:10 »
Способ один. Генерировать JS средствами PHP. А все остальное это разные варианты реализации данного способа.
Не ходите, дети, без «Мозиллы» дальше localhost!

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Передача PHP переменных в JS файл
« Ответ #9 : 22 Января 2007, 14:28:30 »
USE
Не согласен.
А асинхронные запросы?
LJ: Backslashed life (rss)

Оффлайн USE

  • Любитель
  • Ветеран
  • *****
  • Сообщений: 720
  • +0/-0
  • 2
    • Просмотр профиля
Передача PHP переменных в JS файл
« Ответ #10 : 22 Января 2007, 14:38:34 »
CGVictor
В данном случае будет слишком накладно для каждой константы (или группы констант) посылать доплнительный запрос.

Даже и в случае с подгрузкой данных это будет генерация JS на PHP.
Не ходите, дети, без «Мозиллы» дальше localhost!

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Передача PHP переменных в JS файл
« Ответ #11 : 22 Января 2007, 22:01:01 »
USE
Цитировать
USE:
слишком накладно

Почему? Все константы пачкой для одной страницы, далее они в локальном кеше осядут - теоретически возможный вариант.
* я поэтому и не стал сразу прикрывать эту тему, ага :)

[off]И, кстати, это необязательно JS(~JSON) из PHP. MSFT вон как резво xml-script юзает... в общем, возможны варианты.[/off]
LJ: Backslashed life (rss)

Оффлайн andymc

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 400
  • +1/-0
  • 0
    • Просмотр профиля
Передача PHP переменных в JS файл
« Ответ #12 : 23 Января 2007, 13:41:20 »
Цитировать
CGVictor
А асинхронные запросы?
этот вариант не для новичка :)
Ему бы что попроще

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
Передача PHP переменных в JS файл
« Ответ #13 : 23 Января 2007, 15:40:49 »
andymc
Пусть сам решит.
LJ: Backslashed life (rss)

Оффлайн Yukko

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1586
  • +0/-0
  • 0
    • Просмотр профиля
    • http://estrabota.com.ua
Передача PHP переменных в JS файл
« Ответ #14 : 23 Января 2007, 20:29:47 »
Цитировать
html_coder:
Ну почему же, если заставить Apache отдавать js файлы интерпретатору php, то поймет, другой вопрос нужно ли это делать...

а еще mod_rewrite заюзать можно... :super: :rolleyes:
работа в Украине

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28