можно ли сделать частичный постбэк в сети? - PullRequest
1 голос
/ 19 апреля 2010

Я прочитал несколько абзацев в книге, где говорится, что невозможно сделать частичный постбэк для веба, даже если используется AJAX. Ajax отправит все обратно и обновит только ajaxfied элементы управления. Однако на страницах, которые я делал с помощью ajax, я использовал Fiddler для контроля за транспортировкой. Я обнаружил, что при начальной загрузке страницы она загружает все, включая изображения .... Однако, когда я нажимаю кнопку и выполняю обратную передачу ajax. Я могу видеть только то, что некоторые данные были загружены .... Похоже, что не нужно снова загружать всю страницу. Я не знаю, правильно ли то, что я вижу? Или книга, которую я прочитал, верна?

Спасибо, ребята.

Ответы [ 3 ]

2 голосов
/ 19 апреля 2010

Это зависит от того, что вы положили в термин «обратная передача».

AJAX-вызов отправит полные данные формы обратно на сервер, как если бы форма была отправлена ​​в обычном режиме Сервер ответит частичным ответом, который содержит только те части страницы, которые должны быть обновлены.

Итак, запрос не является частичным, но ответ:

1 голос
/ 19 апреля 2010

Я не уверен, как вы отправляете сообщения со стороны клиента. Я предполагаю, что вы используете UpdatePanels. Насколько хорошо вы «AJAX-ify» веб-страница, зависит от того, какой метод вы используете.

  1. UpdatePanels - читать сообщения Дэйва Уорда на них - http://encosia.com/2007/07/11/why-aspnet-ajax-updatepanels-are-dangerous/
  2. PageMethods для отправки обратно в веб-сервис, получения данных и обновления DOM для отображения результата
  3. JQuery и другие подобные AJAX-фреймворки для отправки обратно в веб-сервис

Я уверен, что ссылка выше должна немного прояснить ситуацию

0 голосов
/ 19 апреля 2010

Мне трудно понять вашу терминологию. Я не совсем уверен, что такое «постбэк», а тем более «частичный». Я знаю, что одним из основных способов передачи информации на HTTP-сервер является запрос POST, который обычно используется при отправке форм. Если вы хотите сказать, что вся форма передается при нажатии кнопки «Отправить», я думаю, вы были бы правы.

Вы также, кажется, что-то делаете с AJAX, но это трудно сказать. Весь смысл AJAX в том, чтобы динамические данные отображались на странице, не прибегая к ее перезагрузке. Определение того, что отправлять и что делать с результатами, полностью зависит от вашего собственного JavaScript. Поэтому, если вы не используете фреймворк, который вы не указали, не существует такого понятия, как «ajaxified controls».

В любом случае, «AJAX» обычно означает использование метода XMLHttpRequest () современных браузеров для отправки данных на серверы без обновления страницы. Когда вы вызываете эту функцию, вы точно указываете, какие данные отправлять. Это не имеет ничего общего с HTML-формами. Одно предостережение: если вы действительно используете библиотеку для AJAX, это может наложить дополнительные ограничения на то, как вы структурируете информацию для отправки.

...