2014-11-21 2 views
0

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

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 возвращает неопределенное значение. Каков наилучший способ получить переменную $ string PHP для JS?

+1

Dont используют методы строковых сделать JavaScript объекты, используйте json_encode: '$ строка = json_encode ($ blocked_days),' – Steve

ответ

2

После следует дать вам JS объект, так что вам не придется беспокоиться о настройке и взрывается в $ строки.

echo "<script type='text/javascript'> window.closedDays = JSON.parse('". json_encode($string) ."');</script>"; 
+0

Также имейте в виду, что JSON.parse не поддерживает поддержку в старых браузерах: http://caniuse.com/#feat=json, поэтому вы можете использовать прокладку, например. http://bestiejs.github.io/json3/ –

+0

Отлично, спасибо. Спасибо, Редченко, я посмотрю на это. – Christian

-2

пытается сделать Ajax вызов на сервер и получить needded данные

+1

Это не решает вопрос, который задают. Создание XHR может не соответствовать его прецеденту. –