2012-01-04 4 views
1

Я не знаю, что мне нужно, но я буду использовать Facebook в качестве примера. Когда вы загружаете другую страницу (например: на главной странице, вы нажимаете на свой профиль) сама страница не похожа на перезагрузку.
Загрузка данных, конечно, и URL-адрес изменяется, однако верхняя панель и панель чата остаются.«Динамическая» загрузка страницы?

Я ищу что-то похожее на это. Я полагаю, что это слишком много, и это действительно простая функция кеша, или есть способ JavaScript для этого, или любой другой?

Спасибо.

ответ

1

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

По существу то, что вы должны были бы для вашей установки что-то вроде этого:

  1. страница, которая запрашивает пользователя и возвращается в браузер. Эта страница будет содержать (или ссылку во внешних файлах и т. Д.) Некоторый код JavaScript для управления интерактивными функциями. Например, «ссылка» может вызывать функцию JavaScript вместо перехода на другую страницу. Эта функция вызовет вызов AJAX на сервер.
  2. Обработчик AJAX на сервере. Подумайте об этом как о другой странице или о каком-то веб-сервисе. Он ожидает, что запросы поступают из кода JavaScript, а не от людей. (Хотя люди могут называть это вручную, если они этого хотят, поэтому не возвращайте конфиденциальные данные или что-то в этом роде.) Это может возвращать данные в любом количестве форматов (JSON, XML, HTML и т. Д.) И на клиентском JavaScript-коде будет использовать этот ответ в коде.

В зависимости от ваших предпочитаемых технологий разработки веб-сайтов существуют различные рамки и инструменты, которые помогут с функциональностью AJAX. Мой личный фаворит - это просто использовать методы AJAX в jQuery и вручную управлять ответами с сервера. Если вы укажете свою платформу разработки, я могу помочь найти полезные примеры, чтобы вы начали.

+0

Спасибо за ваш быстрый ответ! :) Я уже использовал XMLHTTPRequest для обработки PHP/MySQL запросов. Я предполагаю, что могу это реализовать? Но тогда единственная проблема заключается в изменении URL-адреса в адресной строке. Может ли это изменить JavaScript? Спасибо :) –

+1

@RichardHedges: Я считаю, что JavaScript может изменить URL-адрес (хотя я не знаю, насколько он универсален), но осторожно протестуйте. Это может вызвать проблемы с навигацией по истории в браузерах (известная проблематичная концепция с AJAX-тяжелыми интерфейсами). – David

+0

Спасибо за всю информацию и помощь! :) Теперь я знаю, с чего начать, я могу это сделать. еще раз спасибо –

1

Все это делается с использованием AJAX. В зависимости от того, что вы хотите, вы можете загружать целые фрагменты HTML или просто загружать данные и выводить на экран javascript страницы, что необходимо.