Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как передать массив из PHP в JS?
 
 автор: а-я   (09.12.2007 в 09:55)   письмо автору
 
 

Всем привет!!!
например, при AJAX. нужно получить массив, который сгенерировал php. как можно сделать?
или получить текст разделеный спец. значением, а потом разделить этот текст на масив по этому спец. значению

как лучше сделать?

   
 
 автор: CrazyAngel   (09.12.2007 в 10:00)   письмо автору
 
   для: а-я   (09.12.2007 в 09:55)
 

отдать xml'ку и распарсить ее на JS

   
 
 автор: а-я   (09.12.2007 в 10:05)   письмо автору
 
   для: CrazyAngel   (09.12.2007 в 10:00)
 

хммм. с xml не дружу. хотя хороший вариант.
интересно, через JS можно узнать когда был создан(изменен) xml-файл.. не скачивая его?
т.е. мне надо обновлять, только если были обновления в файле (БД)

   
 
 автор: CrazyAngel   (09.12.2007 в 10:38)   письмо автору
 
   для: а-я   (09.12.2007 в 10:05)
 

формировать xml php, ечли нет изменений то отдавать пустую страничку

   
 
 автор: CNT   (09.12.2007 в 17:02)   письмо автору
 
   для: а-я   (09.12.2007 в 09:55)
 

Массив - это ВИРТУАЛЬНОЕ понятие: некоторый набор некоторых ячеек памяти обозвали в данной конкретной программе "массивом". Нигде за пределами этой программы эти ячейки памяти НИЧТО НЕ СВЯЗЫВАЕТ. И нигде более они МАССИВОМ не называются и не являются.

Передать из одной программы в другую программу вы можете только нечто МАТЕРИАЛЬНОЕ, а именно, например, значение какой-то одной ячейки памяти.

Как самый простой вариант: в программе PHP объединяете элементы массива в одну строку, используя какой-то символ в качестве разделителя, запоминаете её в одной строковой переменной и передаете эту строку программе на JS, которая по тому же разделителю "сплитует" полученную строку и получает СВОЙ массив (абсолютно идентичный исходному в программе на PHP).

   
 
 автор: а-я   (10.12.2007 в 11:36)   письмо автору
 
   для: CNT   (09.12.2007 в 17:02)
 

а если php будет генерировать не массив, а JS-скрипт, к котором находиться наш массив.

можно ли с помощью аякса скачать это JS-код и использовать???

т.е. наш JS - скрипт скачивает не информацию для вывода в броузер,а как бы сам себя обновляет.

такое возможно?

   
 
 автор: sim5   (10.12.2007 в 11:40)   письмо автору
 
   для: а-я   (10.12.2007 в 11:36)
 


<SCRIPT>
var mass = new Array(<?php=$var1;?>,<?php=$var2;?>,<?php=$var3;?>...)
</SCRIPT>

   
 
 автор: CrazyAngel   (10.12.2007 в 11:40)   письмо автору
 
   для: а-я   (10.12.2007 в 11:36)
 

почитайте инфу по библиотеке prototype
помоему вопросы отпадут

   
 
 автор: SHAman   (10.12.2007 в 12:57)   письмо автору
 
   для: а-я   (10.12.2007 в 11:36)
 

Конечно, возможно! Это называется Ajaj.

Короче, выглядит так: на сервере, при ответе на ajax-запрос, мы формируем объект JavaScript. Например, так:

print "obj = {key1:val1, key2:val2}";


Когда мы принимаем на клиенте этот код, он еще не выполнен. Но это можно исправить как-то так:

eval(response);
где response - текст ответа сервера.

Только еще желательно посылать верный заголовок браузеру:

Content-type: text/javascript;

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования