Используйте переменную PHP в JavaScript позже и из разных файлов

0

Я запутался в лучшем способе этого. У меня есть файл, который содержит как файл php, так и javascript. Файл PHP захватывает переменную из базы данных. Я хотел бы использовать эту переменную в js. Я думал, что смогу сделать это вот так:

PHP:

$string = implode($blocked_days,"][");
$string = "[ [". $string . "] ]";
echo "<script type='text/javascript'> window.closedDays = ". $string .";</script>";

Javascript:

              function customSchedule(date) {

            //  alert(window.closedDays);

              var days = new Array();
              days["Sunday"] = 0;
              days["Monday"] = 1;
              days["Tuesday"] = 2;
              days["Wednesday"] = 3;
              days["Thursday"] = 4;
              days["Friday"] = 5;
              days["Saturday"] = 6;

              var fetchedClosedDays = window.closedDays;
              var closedDays = new Array();

              $.each(fetchedClosedDays, function(index, value){
                     closedDays.push([days[value]]);
                     });

window.closedDays возвращает undefined. Какой лучший способ получить переменную $ string $ для JS?

  • 1
    Не используйте строковые методы для создания объектов JavaScript, используйте json_encode: $string = json_encode($blocked_days);
Теги:
bigcommerce

2 ответа

2
Лучший ответ

Следующее должно дать вам объект JS, поэтому вам не нужно беспокоиться о том, чтобы развязать и установить строку $.

echo "<script type='text/javascript'> window.closedDays = JSON.parse('". json_encode($string) ."');</script>";
  • 0
    Также имейте в виду, что JSON.parse не поддерживается в старых браузерах: caniuse.com/#feat=json , поэтому вы можете использовать шим, например, bestiejs.github.io/json3
  • 0
    Отлично спасибо. Спасибо Редченко, я посмотрю на это.
-3

попробуйте сделать вызов Ajax на сервер и получить нужные данные

  • 1
    Это не относится к заданному вопросу. Создание XHR может не подходить для его варианта использования.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню