предварительно загрузить экран после поиска? - PullRequest
0 голосов
/ 05 января 2011

У меня есть окно поиска рейсов на моей домашней странице (похоже на http://www.travelpack.com/)

При поиске в http://www.travelpack.com/ вы увидите "Мы ищем рейсы, которыеудовлетворить ваши требования. Пожалуйста, подождите ... " экран у меня не было, и я хочу подобный экран на моем сайте.

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

document.flight_search.action = 'php/flt-show-availability.php?&s=1&Sort=P';
            document.flight_search.method = 'post';
            document.flight_search.submit();

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

Ответы [ 3 ]

1 голос
/ 05 января 2011

в jQuery можно было бы показать экран и переслать после завершения вызова ajax (который сообщает приложению о необходимости генерировать результат), очень похоже на это:

$('.search').click(function(event){
  event.preventDefault();
  $('#loadAnimationWrapper').show();

  $.ajax({
    cache: false,
    async: false,
    type: 'GET',
    url: '/your/callback/url',
    success: function(data) {
      // your forwarding code
    }
 });
});

Но в моем мнении примерНа странице, которую вы даете, есть Проблема, заключающаяся в том, что отображаемое содержимое не представлено в URL, поэтому, например, вы не можете дать URL кому-либо другому, чтобы он мог увидеть результаты.

Итак,магия ajax - конечно, но будьте осторожны.

0 голосов
/ 05 января 2011

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

если запрос выполнен успешно, вы можете по-разному реагировать: - заменить содержимое - перейти к сгенерированной странице вывода

0 голосов
/ 05 января 2011

Вы можете перенаправить на страницу результатов, скрыв список результатов за div, который содержит сообщение о загрузке.Затем вы получаете результаты через javascript (ajax или аналогичный) и создаете список в фоновом режиме.

Когда сервер завершит поиск, ваш запрос завершится, и вы сможете скрыть div, содержащий сообщение о загрузке (например, вфункция обратного вызова).

...