Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Суперглобальные PHP увидеть в JS (https://javascript.ru/forum/misc/9890-superglobalnye-php-uvidet-v-js.html)

Robox 09.06.2010 20:38

Суперглобальные PHP увидеть в JS
 
Здравствуйте.

Подскажите способ, как увидеть суперглобальную переменную PHP ($GLOBALS) в JS, возможно ли применить какой трюк?

Что я хотел бы реализовать:
есть страница, что генерируется динамически с помощью PHP
Выводит к примеру динамическое кол-во новостей на странице, новость состоит из краткой аннотации и тела самой новости.

Как бы хотел реализовать следуюущее:
страница генерируется, из БД берем все данные, выводим на показ только аннотации новостей.
Около каждой аннотации ява кнопка, типа "Show/Hide" при нажатии которой в заданом DIV`e вывело бы саму новость, вторичное нажатие скрыло новость.

Вариант просто прятать а потом показывать - не подходит, типа всё задуманно с условием именно - полного скрытия новости (т.е. новости нет в теле страницы, она висит в глобальном массиве) от грабберов, граберы JS ведь не подерживают?

Вариант на Prototype.js :

function show(id){
   var url = "/show.php";
   var pars = {idv: id};  
   var myAjax = new Ajax.Updater({success: 'id_'+id}, url, {method: 'post', parameters: pars, onFailure: reportError});
 
 function reportError(request) {
 alert ('Sorry. Error.');
 }
}


- обломился, в виду того, что файл "show.php" получает только ID новости, а глобальную переменную $GLOBALS - не видит, т.к. файл "show.php" загружен как бы заново а не в ссесии той страницы...

Вариант в файле "show.php" делать запросы к БД, чтобы получить новость и вывести её -тоже не подходит, дело в том, что этих, т.н. новостей может быть на одной странице как одна, так и 100...
Если человек будет жать кнопку показа всех новостей поочередно, то будет много запросов к БД только с одной страницы...

Есть мысли?

Kolyaj 09.06.2010 20:42

http://www.phpfaq.ru/na_tanke для начала.

Robox 10.06.2010 04:36

Читал =)

Хорошо, вопрос по другому поставлю, сталкивался ли кто с реализацией прятанья контента и показом через кнопку, как вы сеё реализовали (алгоритм)?

Skipp 10.06.2010 08:31

Robox,
Подгружай контент с помощью ajax

Robox 10.06.2010 14:49

Skipp, т.е. все то, что я выше привел в качестве примера на Prototype.js ?

Ладно, придется растратиться на один-три дополнительных запросов к БД, чтобы в файле show.php уже была глобальная переменная с моим массивом новостей..


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