jQuery: ожидание обратных вызовов, прежде чем продолжить - PullRequest
0 голосов
/ 26 марта 2011

У меня есть страница, которая использует довольно много Ajax для загрузки своего содержимого при нажатии на разные вещи, и сейчас я работаю над тем, чтобы иметь возможность ссылаться на различные части страницы, читая входящие хэши в URL как своего рода путь. Я решил, что мог бы просто просмотреть различные разделы входящего хэша и вызвать правые щелчки, используя jQuery .trigger (). Проблема заключается в том, что следующий второй триггер будет вызван до того, как содержимое раздела будет фактически загружено (поскольку оно загружается через ajax), что означает, что объект, который он пытается вызвать, не существует. Есть ли хороший способ установить своего рода флаг или что-то, чтобы знать, когда все обратные вызовы завершены и весь контент загружен, прежде чем я использую следующий триггер? Или я подхожу к этому совершенно неправильно? Просто ищу какую-то общую стратегию, как это сделать.

Ответы [ 2 ]

2 голосов
/ 26 марта 2011

Вы хотите создать success обратный вызов. Как видно из названия, этот код будет выполнен после успешного завершения загрузки.

$.ajax({
  url: 'ajax/test.php',
  success: function(data) {
    // your code to execute after load is complete
    // data parameter contains any information returned from test.php
  }
});

См. «Очереди функций обратного вызова» на http://api.jquery.com/jQuery.ajax/

1 голос
/ 26 марта 2011

как насчет использования

$.ajax({
  url: 'ajax/test.php',
  async:false
});

дождаться загрузки запроса

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