Подскажите как передать массив из php в яваскрипт
Подскажите как передать массив из php в яваскрипт
// сервер <? $cwet[0]= 0; $cwet[1]= 1; $str = implode(",", $cwet); ?> // клиент <script> <? include("SERVER.php"); ?> str = <? echo $str; ?>; document.write(str); </script> тут упрощенный вариант, выводим только строчку(str), но и она не правильно выводится, выводится только первый элемент массива. А вообще надо чтоб элементы массива были не числами а строками. |
например, так:
<script> var data = <?=json_encode($your_array);?>; console.log(data); </script> |
Цитата:
<script> var a = [1,2]; document.write(a); </script> |
Цитата:
str = 01; То есть число "1", а не строка. Чтоб была строка - поставь ковычки. Но это так, для сведения. Тебе уже подсказали как правильно "передавать" массив. |
Сами вы кОвычка. :) После $str = implode(",", $cwet); должно быть 0,1, строка. ТС запятую где-то посеял.
|
Цитата:
Ну или "двумерный" массив типа var arr=[['one',3],['two',254],['three',254],['five',3]]; который в php делается как обычно $arr[] = array($some_name, $some_number); |
Цитата:
alert(data .split(',')); и так cwet=[]; cwet= JSON.parse(data ); |
Харе тупить. В js у вас сразу, то есть мгновенно появляется нормальный массив. Берите и юзайте его.
|
Цитата:
Тогда вам его надо скомпилить в переменную. В случае который вы процитировали уже все скомпилено на этапе загрузки страницы. |
Вроде разобрался, теперь нужно с текстового файла file.tx содержащего информацию:
'#00FF30' (уже записано в файле file.txt) прочесть на сервере файл file.tx: <? $cwet= file('BAZA/cwetBaza.txt'); ?> Все читается и на клиент данные доходят, вот клиент <canvas id="canvas" width="800" height="600"></canvas> <script> VarCanvas = document.getElementById("canvas"); ctx = VarCanvas .getContext('2d'); <? include("SERVER.php"); ?> cwet= <?=json_encode($cwet);?>; ctx.fillStyle = cwet[0]; ctx.fillRect(100, 0, 100, 100); alert (cwet[0]); </script> Но квадрат не закрашивается, как сделать чтоб закрасился? |
Часовой пояс GMT +3, время: 19:55. |