Получение данных базы данных на стороне клиента - PullRequest
0 голосов
/ 09 июня 2010

Я уверен, что об этом спрашивали миллион раз, но каков подход к этому?

Я некоторое время писал php-код, и до недавнего времени я только копировал + вставлял код javascript, но теперь с помощью YUI я начал понимать javascript и хочу больше использовать его в существующем веб-приложении, которое у меня есть.Я хочу получать различные объемы данных из баз данных и т. Д. В клиентский JavaScript.У меня есть доступ к этим данным на моих страницах php при загрузке.

Как правильно получить эти данные в моем скрипте на стороне клиента.

  1. Создание клиентского JavaScript в моем php илиФайлы шаблонов smarty, вставляющие данные туда, где они мне нужны?
  2. Использовать Ajax-вызов для извлечения необходимой мне информации из php-файла - возврат данных JSON?
  3. Создать структуру данных JSON данныхнужна странице и либо вернуть ее через включение скрипта, либо сбросить ее на сгенерированную страницу?
  4. Что-то действительно очевидное, о чем я не думал.

Ответы [ 3 ]

1 голос
/ 10 июня 2010

Вероятно, вы используете таблицу данных YUI. Я полагаю, если набор данных невелик и у вас он есть во время запроса страницы, вставьте его в локальную переменную JS (я предпочитаю использовать формат JSON) и оберните YAHOO. Используй вокруг него файл LocalDataSource, подключи его к таблице данных, и все готово.

0 голосов
/ 09 июня 2010

Если вы постоянно используете хорошую структуру массива для ваших данных, то вы можете использовать как сгенерированные страницы, так и ajax - либо использовать массив для вывода html (прямо вверх php, smarty, что угодно), а затем вы можете вернуть эти данные,json_encode () для AJAX.Таким образом, если у пользователя нет javascript, ваша страница все еще работает:)

0 голосов
/ 09 июня 2010

Если вы можете отправить данные со страницы, я бы сделал это (то есть номер один), но получение с помощью Ajax, вероятно, лучший выбор, когда страница уже загружена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...