Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Подскажите как передать массив из php в яваскрипт (https://javascript.ru/forum/misc/45576-podskazhite-kak-peredat-massiv-iz-php-v-yavaskript.html)

danik.js 06.03.2014 16:57

Цитата:

Сообщение от wadim
data - это строка

data - это строка в PHP. А на выходе будет просто JSON-нотация массива, которую скушает JS-парсер.

danik.js 06.03.2014 16:58

У тя на выходе будет data = [1,2] че те еще нужно????

kostyanet 06.03.2014 17:36

Цитата:

Сообщение от wadim
son_encode я так понял преобразует массив в строку, data - это строка, а где массив?

Преобразует массив в строку которую вы включаете в строку которая начинается <html> и которая попав в браузер компилируется в DOM со всеми скриптами (см выше).

Почему элементарное приходится объяснять? Вот кусок рабочего кода

echo '<script type="text/javascript">
			var row_id_name="',$tb->js_row_id_name,'";
			var datagrid_id="',$tb->table_id,'";
			var columns=',json_encode($js),';
			</script>';


Вот в браузере подключенный через link (наверно) скрипт юзает скрипт полученный с сервера вместе с хтемелей

var type = columns[field_index][1];


Еще раз скажете "нипонял" поставлю минус. :)

kostyanet 06.03.2014 17:42

Просто посмотрите в хтмле как получился ваш массив и сразу все станет понятно. Надеюсь. И вообще в процессе полезно заглядывать в хтмл, потому что пхпе положить на ошибки в хтмл, а браузеру в общем-то тоже. Только красный цвет в кодах покажет где накосячил ваш пхп.

kostyanet 06.03.2014 17:52

Вспомнил, была недавно похожая коллизия. Мне надо было записать уже отрендеренный урл в датасет ссылки на картинку - чтобы заголовок этой картинки сделать ссылкой на товар. Оказалось если просто всунуть <a href=""> в дата-сет, который сам начинается с " то барахло вылезает на страницу как халявный мозг из соломенной башки Страшилы.

Сперва я потратил время чтобы заменить все ' на \' и добился результата. Потом подумал что надо было попробовать http://ru2.php.net/htmlentities и попробовал. Хлам исчез. Было полез думать как теперь в JS из ентитек сделать нормальный html но недолез - щелкнул по ссылке и она открылась. Задумалсо: почему все эти &lt;a href=&quot;http:... попадая в innerHTML спана спокойно превращаются в ссылку.

title.innerHTML='Фото '+(index+1)+' из '+images_length+': '+this.dataset.link; // это оно


Так и не понял.


Часовой пояс GMT +3, время: 21:19.