Лучший подход для обновления элемента управления после запроса Ajax? - PullRequest
1 голос
/ 25 мая 2010

У меня есть веб-страница, которая запускает запрос Ajax, в котором хранятся некоторые данные в базе данных, и я хочу обновить веб-страницу, чтобы пользователь мог видеть, что их изменения были отправлены.

Я могу придумать как минимум 3 способа сделать это:

  • Немедленно обновите веб-страницу простым JavaScript, захватывая содержимое введенного пользователем текста и немедленно вставляя его туда, где он принадлежит.
  • Пусть вызов ajax вернет сохраненный текст в качестве ответа, возьмет ответ, а затем вставит этот текст там, где он находится на странице, используя JavaScript
  • Пусть вызов ajax вернет флаг (скажем, true для успешной записи в БД, в противном случае - false), а если флаг равен true, используйте JavaScript, чтобы извлечь содержимое пользователя из элемента управления вводом и вставить его в другое место на страница
  • Или другой метод, не упомянутый ...?

Я не имею в виду, что это субъективно, я просто не знаю, какой метод лучше всего применить. Мой инстинкт подсказывает мне перейти к третьему пункту (вернуть флаг, а затем обновить поле). Это лучший способ?

Спасибо

Ответы [ 2 ]

1 голос
/ 25 мая 2010

Я бы пошел вторым или третьим путем. Между ними нет существенной разницы.

Мои рассуждения ...

Номер один обновляет поле, прежде чем вы узнаете, был ли запрос успешным или нет. Это отзывчиво с точки зрения пользовательского интерфейса, но не правильно, если запрос не выполнен.

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

0 голосов
/ 25 мая 2010

Я делаю это двумя способами: если страница заполняется ajax для начала, то я повторно вызываю эту функцию, чтобы повторно получить эти данные в случае успеха.

В противном случае, я добавляю данные туда, где они должны быть в случае успеха. Таким образом, вы не будете передавать данные туда-сюда.

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