Приложение jQuery не работает вне функции обратного вызова getJSON

Я работаю над объединением всех моих вызовов JSON. Я извлек все из этого вызова $.getJSON и убедился, что моя страница все еще работает, но когда я вынимаю приложение и просмотр списка, содержимое никогда появляется.

Это работает:

    $.getJSON("data/rides.json",
        function(data){
          $('#myRideList').append( rideList.join(' ') );
          $('#myRideList').listview('refresh');
      });

но это не так:

  //  $.getJSON("data/rides.json",
  //    function(data){
          $('#myRideList').append( rideList.join(' ') );
          $('#myRideList').listview('refresh');
 //     });
4 голоса | спросил gfreestone 1 SatEurope/Moscow2012-12-01T20:25:26+04:00Europe/Moscow12bEurope/MoscowSat, 01 Dec 2012 20:25:26 +0400 2012, 20:25:26

1 ответ


0

Вероятно, вы запускаете код до того, как DOM будет готов.

Версия getJSON будет работать асинхронно, предоставляя DOM возможность загрузки.

Вторая версия будет запущена немедленно.

Вы можете поместить код в .ready() обработчик, чтобы убедиться, что DOM готов.

$(function() {
  //  $.getJSON("data/rides.json",
  //    function(data){
          $('#myRideList').append( rideList.join(' ') );
          $('#myRideList').listview('refresh');
 //     });
});

Синтаксис, который я использовал выше, является сокращением для этого:

$(document).ready(function() {
    // ...
});

Самые простые решения часто бывают лучшими. Как отметил @TJCrowder , проверенный и надежный метод размещения вашего сценария в нижней части страницы (или, по крайней мере, где-то на странице после нужных элементов) прост и не требует скрытых уловок.

<body>
   <!-- your HTML markup -->

   <script type="text/javascript" src="http://example.com/my/script.js"></script>
</body>
ответил I Hate Lazy 1 SatEurope/Moscow2012-12-01T20:26:29+04:00Europe/Moscow12bEurope/MoscowSat, 01 Dec 2012 20:26:29 +0400 2012, 20:26:29

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132