Разве AJAX на загрузке страниц не плохая вещь? - PullRequest
7 голосов
/ 07 мая 2009

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

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

Мой банк использует AJAX для получения информации для создания элементов формы для формы «Перевод средств». Эта информация составляет несколько килобайт, поэтому запрос AJAX кажется излишним.

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

Я мог бы понять, если мы говорим о больших объемах данных, которые в противном случае заняли бы слишком много времени, но если бы их было меньше 10-15 КБ, не лучше ли было бы перенести данные с разметкой? Они делают это, чтобы избежать кэширования данных?

Edit: я предлагаю вместо того, чтобы открывать AJAX-вызов к серверу, чтобы получить данные json при загрузке клиентов, просто сделать так, чтобы asp.net (или любой другой) отображал json в содержимом страниц, когда он оказывает все остальное. Я просто почувствовал необходимость указать на это, потому что фактический код на стороне клиента был бы точно таким же, за исключением того, где начинается переменная json.

Ответы [ 13 ]

1 голос
/ 07 мая 2009

Я не понимаю, как здесь размер запроса / ответа. Использование AJAX или нет - больше вопрос юзабилити, и одним из факторов здесь является время рендеринга начальной страницы. Пользователи не хотят ждать. Если вам нужно всего 2 секунды для вычисления элемента страницы на стороне сервера, вам определенно следует подумать о том, чтобы сначала отправить страницу без этого элемента, а затем получить элемент через ajax. Даже если этот элемент страницы имеет только пару байтов.

0 голосов
/ 30 октября 2009

Лучшим решением, по-видимому, является вызов функции Ajax на стороне сервера и загрузка содержимого json при загрузке страницы. Это обеспечивает согласованность и исключает дополнительное подключение при запуске.

0 голосов
/ 07 мая 2009

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

Другими словами: делать это по-своему - это двойная работа с вероятностью (из-за ошибок), что две версии ведут себя по-разному.

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